动态添加元素后 js点击 DOM查找不到

问题:调用append()方法动态添加一个元素,为这个元素绑定点击事件,却查找不到这个元素,点击事件无效。

解决:调用live()方法$(' select ').live( ‘click’,function(){} ); 

但是在jquery1.9及其以上版本无法使用live(),可以用on()方法代替live(),

jquery1.7以上版本on()代替了live()、bind()等方法;

on()和bind()的区别是on不仅可以给页面中现有的元素绑定事件,还可以给将来动态添加进来的元素帮id那个事件。

用法:$(' 元素 ').on( ' click ',function(){  } )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在小程序的 JavaScript 文件中,你可以使用 `wx.createSelectorQuery` API 创建添加元素。下面是一个示例: ```javascript Page({ // ... createAndAddElement() { wx.createSelectorQuery().select('#container').fields({ size: true, scrollOffset: true, properties: ['scrollX', 'scrollY'] }).exec((res) => { const container = res[0]; // 创建元素 const newElement = document.createElement('div'); newElement.textContent = '新元素'; newElement.style.color = 'red'; // 添加元素到容器 container.appendChild(newElement); }); }, // ... }) ``` 在上述示例中,我们首先使用 `wx.createSelectorQuery` API 创建一个选择器查询对象,然后使用 `select` 方法选择指定的容器元素,这里使用了 id 为 `container` 的元素。 接着,使用 `fields` 方法指定需要获取的容器的属性,例如大小、滚动偏移量等。在 `exec` 方法的回调函数中,我们可以获取到包含容器属性的结果数组 `res`,并通过索引 `[0]` 获取到容器对象 `container`。 然后,我们可以使用 JavaScript 的 DOM 操作来创建新的元素,并设置其内容和样式。在示例中,我们创建了一个 `<div>` 元素,并设置了文本内容为 "新元素",样式颜色为红色。 最后,通过 `container.appendChild(newElement)` 将新元素添加到容器中。 需要注意的是,小程序的 JavaScript 运行环境是基于微信小程序的运行时环境,并不是在浏览器环境中执行。因此,一些浏览器相关的 DOM 操作可能无法直接使用,或者使用方式有所差异。建议在小程序开发中,更多地使用小程序提供的组件和 API 来进行界面元素创建和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值