升级到jquery后,jquery选择器失败

时间:2013-01-19 23:21:29

标签: javascript jquery select

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

我建议您使用真正的CSS选择器,因为它很多更快:

$('#gridtable tr[name!="blank"]:not(:first-child)')

答案 1 :(得分:1)

奇怪的是,之前版本的jQuery没有引发同样的错误。您在选择器中遇到问题。如果您要查找name != "blank"元素内<tr>元素(不是第一行)的元素,请使用:

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

如果<tr>元素还应包含name != "blank"的过滤器,请使用:

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

因此attribute selector不需要冒号:符号。