Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在live事件中使用jquery筛选器_Javascript_Jquery - Fatal编程技术网

Javascript 在live事件中使用jquery筛选器

Javascript 在live事件中使用jquery筛选器,javascript,jquery,Javascript,Jquery,您好,我有以下jquery代码,因此它将在表的每一行上交替颜色: $("tr").filter(':nth-child(2n+1)').addClass('odd').next().addClass('even'); 但不幸的是,当表来自ajax调用时,它不起作用。。有没有办法把它转换成美元(“tr”)。直播。。。让它像那样工作。。我尝试过不同的方法,比如:(我知道语法可能不正确) 但是doestn似乎有效live并不是解决动态内容问题的万能解决方案。它只适用于事件。通常,您使用bin

您好,我有以下jquery代码,因此它将在表的每一行上交替颜色:

  $("tr").filter(':nth-child(2n+1)').addClass('odd').next().addClass('even');  
但不幸的是,当表来自ajax调用时,它不起作用。。有没有办法把它转换成美元(“tr”)。直播。。。让它像那样工作。。我尝试过不同的方法,比如:(我知道语法可能不正确)


但是doestn似乎有效

live
并不是解决动态内容问题的万能解决方案。它只适用于事件。通常,您使用
bind
监听事件;当您的内容是动态的时,
live
是可靠地捕获事件的一种方式。因此,您需要另一种样式解决方案

最简单的解决方案是使用第n个子项定义CSS:

tr:nth-child(2n+1) {
    // whatever the odd styles are
}

tr:nth-child(2n) {
    // whatever the even styles are
}
这不适用于所有浏览器,因为它是CSS3。(尤其是在Firefox3或9版之前的Internet Explorer中,它不起作用。)

另一种解决方案是在每次AJAX调用后使用以下方法更新页面上的所有
tr
元素:


这不会有很好的性能,但它可能不会是一个特殊的消耗,因为它总是异步发生的。这显然可以跨浏览器使用。

例如,可以使用:奇数和:偶数标记


您不能在ajax触发后运行此代码吗?
。live
用于事件。你不能那样做。好吧,我只是觉得用live会容易得多;),谢谢,我将以完整的方式实施更新。
tr:nth-child(2n+1) {
    // whatever the odd styles are
}

tr:nth-child(2n) {
    // whatever the even styles are
}
$(document).ajaxComplete(function() {
    $('tr:nth-child(2n+1)').addClass('odd').next().addClass('even');
});