2009-06-09 5 views
1

Как это возможно, что, будучи 'Colonna' простая строка:Ошибка jquery: функция не является функцией?

$('td.' + colonna).css('background-color','#ffddaa'); 

корректно работает подсветка фона интересных клеток, а также:

$('td.' + colonna).contains('Catia').css('background-color','#ffddaa'); 

производит ошибку: «$ (» td. '+ colonna) .contains не является функцией "?

У кого-то есть идея?

Спасибо!

ответ

9

Я считаю, что это должно быть что-то вроде:

$('td.' + colonna + ":contains('Catia')").css('background-color','#ffddaa'); 
+0

Вы правы ... это так. Большое спасибо! – Daniel

+1

Я смущен из-за этого: http://docs.jquery.com/Traversing/contains Я изучаю jQuery через «jQuery in Action» (слишком ленив, чтобы найти ссылку, это популярная книга) и в моем выпуске в октябре 2008 года на стр.45 они перечисляют функцию «содержит». И их пример, и тот, который я связал выше с документами jQuery, генерируют ошибку OP («не функция»). Раньше была функция .contains, которая, возможно, была удалена? Или он был добавлен после версии 1.2.1, версии, используемой в примере кода книги? – Coderer

0

У меня нет конкретного ответа, но похоже, что вы выиграете, используя хороший отладчик JS. Я бы рекомендовал Firebug.

Пояснения о том, как использовать его здесь: http://getfirebug.com/js.html

Как это вы сможете увидеть DOM, различные функции Доступные. Если это не исправить, вы все равно сможете опубликовать более точный вопрос.

Извините за не более полезным

0

Я знаю, что это путь (! Путь) просрочены, но я спросил another question и, казалось бы, что чистый результат - «старые версии JQuery имели метод .contains(), но он устарел». Yay за нарушение вашего API!

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