我有以下 javascipt 行来选择网格中的 tr:
$('#gridtable tr:gt(0):[name!="blank"]').click(function () {
这一直很好,直到我将我的 jquery 版本升级到最新版本,现在这一行会产生这个错误:
语法错误,无法识别的表达式:#gridtable tr:gt(0):[name!="blank"] jquery.min.js:2
有人可以告诉我如何解决这个问题吗?
我有以下 javascipt 行来选择网格中的 tr:
$('#gridtable tr:gt(0):[name!="blank"]').click(function () {
这一直很好,直到我将我的 jquery 版本升级到最新版本,现在这一行会产生这个错误:
语法错误,无法识别的表达式:#gridtable tr:gt(0):[name!="blank"] jquery.min.js:2
有人可以告诉我如何解决这个问题吗?
您的选择器中有一个额外的冒号:
$('#gridtable tr:gt(0):[name!="blank"]')
// ^ Remove this
我建议您改用真正的 CSS 选择器,因为它要快得多:
$('#gridtable tr[name!="blank"]:not(:first-child)')
奇怪的是为什么以前版本的 jQuery 没有引发同样的错误。您的选择器有问题。如果您正在寻找具有name != "blank"
内部<tr>
元素(不是第一行)的元素,请使用:
$("#gridtable tr:gt(0) [name!='blank']")
如果<tr>
元素也应该有过滤器,name != "blank"
那么使用:
$("#gridtable tr[name!='blank']:gt(0)")
所以属性选择器:
不需要冒号。