【发布时间】:2013-02-12 17:08:12
【问题描述】:
我有一个简单的函数,它遍历页面并使用.each() 为每个匹配的元素添加一个 CSS 类。我也在不断地用 AJAX 更新页面,在第一次改变事物的 AJAX 更新之后,该功能不再适用。
代码:
$("div.col-conversation span.label-sticky").each(function () {
$(this).closest('li').addClass('stickyhighlight');
});
我明白为什么它在第一个 AJAX 事件之后不起作用并尝试使用 .live() 或 .delegate() 但似乎你不能绑定不是事件的东西(即你只能使用此方法绑定到单击、悬停等),因此.each() 不起作用。
有没有一种简单的方法来执行这个函数,而不将它包含在 AJAX 成功回调中,并且不使用像 livequery 这样的插件,这可能是矫枉过正?
【问题讨论】:
-
什么时候调用调用
.each的函数? -
我认为@ExplosionPills 是在正确的轨道上。在新内容加载到页面后,您不会调用该函数来添加类。
-
回答第一个问题...在
$(document).ready()调用之前。我知道live()已被弃用。
标签: javascript ajax jquery each