0

我有以下 javascipt 行来选择网格中的 tr:

$('#gridtable tr:gt(0):[name!="blank"]').click(function () {

这一直很好,直到我将我的 jquery 版本升级到最新版本,现在这一行会产生这个错误:

语法错误,无法识别的表达式:#gridtable tr:gt(0):[name!="blank"] jquery.min.js:2

有人可以告诉我如何解决这个问题吗?

4

2 回答 2

2

您的选择器中有一个额外的冒号:

$('#gridtable tr:gt(0):[name!="blank"]')
//                    ^ Remove this

我建议您改用真正的 CSS 选择器,因为它快得多:

$('#gridtable tr[name!="blank"]:not(:first-child)')
于 2013-01-19T23:23:12.587 回答
1

奇怪的是为什么以前版本的 jQuery 没有引发同样的错误。您的选择器有问题。如果您正在寻找具有name != "blank"内部<tr>元素(不是第一行)的元素,请使用:

$("#gridtable tr:gt(0) [name!='blank']")

如果<tr>元素也应该有过滤器,name != "blank"那么使用:

$("#gridtable tr[name!='blank']:gt(0)")

所以属性选择器:不需要冒号。

于 2013-01-19T23:23:45.293 回答