2011-03-22 2 views
0
$('div#nutrition-fact-content table tr:first td:first').addClass('product-volume'); 
$('div#nutrition-fact-content table tr:first td:last').addClass('flavor-name'); 

В приведенном выше коде вторая строка jQuery применяет класс. Td до этого никогда не получает класс. Я также попробовал просто tr: сначала для класса row, и это тоже не получает класс. Почему нет?jQuery: первый и последний селектор

+0

Как выглядит html? – Neal

+0

Как вы знаете, что класс не применяется? Вы посмотрели на DOM? Возможно, у вас есть опечатка в вашем файле CSS. –

+0

Я использовал Firebug для проверки. ароматизатор определенно применяется. – Kevin

ответ

1

попробовать это:

$('div#nutrition-fact-content table tr:first td').first().addClass('product-volume'); 
$('div#nutrition-fact-content table tr:first td').last().addClass('flavor-name'); 

UPDATE 2
Если вы не имеете JQuery> 1.4.4: Посмотрите на этот fiddle

работает как шарм :-)

$children = $('div#nutrition-fact-content table tr:first').children().length -1; 

$($('div#nutrition-fact-content table tr:first').children()[0]).addClass('product-volume'); 
$($('div#nutrition-fact-content table tr:first').children()[$children]).addClass('flavor-name'); 
+0

.first() не является функцией, говорит Firebug. – Kevin

+0

проверить это [jquery .first()] (http://api.jquery.com/first/) – Neal

+0

Не использовать 1.4, это сайт Drupal 6. 1.3.2. – Kevin

0

Селекторы, похоже, работают, когда я тестировал их here. Вы уверены, что все остальное в порядке?

+0

, какая версия jquery выполняет этот тест? – Neal

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