JavaScript-Jquery each() 如何操作后添加的DOM元素?

小组事务管理 小组事务管理 主题:974 回复:1955

JavaScript-Jquery each() 如何操作后添加的DOM元素?

夜无邪 发布于 2017-02-15 字数 257 浏览 1235 回复 3

我要用Jquery each()处理一系列DOM元素(一部分是页面载入时就有的,一部分是ajax加载的),但是直接使用each()方法无法获取到后加载的元素。如果不考虑使用插件的话,如何解决?

/* 更新 */

问题解决了,发现问题实际上与each()无关。感谢各位的回答!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

偏爱自由 2017-07-28 3 楼

你可以使用JQuery的Live方法就可以绑定后加载的DOM元素,没必要使用each方法来处理,live方法能够满足你的需求。例如:为ID为wrap下的所有ul下的li绑定点击事件(包括后加载的li),

<script>
$(function(){
$('#wrap ul li).live('click', function(){
alert('我被点击了);
});
});
</script>

灵芸 2017-04-02 2 楼

使用each()处理DOM元素时,ajax还没有返回数据并添加到页面中吧,如果是在ajax加载完元素之后再执行each()肯定是没有问题的。所以解决办法有几种:

1,就是ajax加载完元素之后,在回调函数中对新增加的这些元素处理

2,将处理元素的代码封装成函数,在ajax加载完元素之后,也调用这个函数,需要对已经处理过的元素进行过滤

总之都是需要ajax完成后在处理,

想挽留 2017-04-02 1 楼

把each放到使用ready方法里去,当页面完全加载之后,再调用里面的方法,这样就可以获得页面加载后的元素信息了