gpt4 book ai didi

javascript - jQuery .live() 和 .each() 与 AJAX 轮询

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:26 25 4
gpt4 key购买 nike

我有一个简单的函数,它遍历页面并使用 .each() 为每个匹配的元素添加一个 CSS 类。我还经常使用 AJAX 更新页面,在第一次 AJAX 更新改变内容后,该功能不再适用。

代码:

$("div.col-conversation span.label-sticky").each(function () {
$(this).closest('li').addClass('stickyhighlight');
});

我理解为什么它在第一个 AJAX 事件后不起作用,并尝试使用 .live().delegate() 但它没有似乎您可以使用此方法绑定(bind)不是事件的事物(即您只能绑定(bind)到单击、悬停等),因此 .each() 将不起作用。

有没有一种简单的方法来执行这个函数,而不用将它包含在 AJAX 成功回调中,也不使用像 livequery 这样的插件,这可能有点矫枉过正?

最佳答案

我认为这对你有用:

$('body').on('mychange','div.col-conversation span.label-sticky',function () {
$(this).closest('li').addClass('stickyhighlight');
});

将此添加到您的 ajax 成功函数:

$('body').trigger('mychange');

或者如果您真的不想(或不能)修改 ajax 成功函数:

setInterval(function() {
$('div.col-conversation span.label-sticky').each(function () {
$(this).closest('li').addClass('stickyhighlight');
});
},100);

关于javascript - jQuery .live() 和 .each() 与 AJAX 轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com