2013-01-19 3 views
0

я имел следующую строку Javascipt выбрать ТР в сетке:селектора JQuery терпит неудачу после обновления до JQuery

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

Это работало хорошо, пока я не модернизировал свою версию JQuery до самого последнего, теперь эта линия создает эта ошибка:

Синтаксическая ошибка, непризнанный выражение: #gridtable тр: GT (0): [имя = "пустой"!] jquery.min.js: 2

Может кто подскажет, как исправить это?

+2

Второй ':' в 'tr: gt (0): [name! =" Blank "]' неверен ... он никогда не должен работать в первую очередь. –

+0

... и если вы хотите исключить первый элемент, у которого нет атрибута 'name = blank', селектор должен быть' $ ('# gridtable tr [name! = "Blank"]: gt (0)') 'Порядок выбора. – undefined

+0

@undefined - Вы совершили ту же ошибку. Потеряйте первую толстую кишку! –

ответ

2

У вас есть дополнительное двоеточие в вашем селекторе:

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

Я бы посоветовал вам использовать реальный селектор CSS вместо этого, так как это гораздо быстрее:

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

Альтернатива CSS (вторая), которую вы предоставили, отлично работает! Спасибо – TSG

1

Странно, почему предыдущая версия jQuery не поднимала ту же ошибку. У вас проблема в селекторе. Если вы ищете элементы с name != "blank" внутри <tr> элементами (не первый ряд), а затем использовать:

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

Если <tr> элементы также должны иметь фильтр для name != "blank" затем использовать:

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

Так нет двоеточия : символ, необходимый для attribute selector.

+0

Я не понимаю разницу между двумя альтернативами. (Можете ли вы объяснить больше). Я пытаюсь найти строки больше строки 0, у которых также есть имя, не равное «пустое». – TSG

+0

@ Michelle Тогда второй селектор - это путь. Первый будет искать элементы с именем, не равным «пробелу» внутри строк. ** DEMO: ** http://jsfiddle.net/yyANR/ – VisioN

+0

Ни один из них не похож на старый ... что-то не так. Но ответ CSS, опубликованный выше, работает ... – TSG

Смежные вопросы