2009-06-09 7 views
1

Comment est-il possible que, étant 'colonna' une chaîne simple:erreur jquery: une fonction n'est pas une fonction?

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

œuvres mettant en lumière correctement l'arrière-plan des cellules intéressantes et:

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

produit l'erreur: « $ (» td. '+ colonna) .contains n'est pas une fonction "?

Quelqu'un a une idée?

Merci!

Répondre

9

je crois que ce devrait être quelque chose comme:

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

Vous avez raison ... c'est. Merci beaucoup! – Daniel

+1

Je suis confus à cause de cela: http://docs.jquery.com/Traversing/contains J'ai appris jQuery à travers "jQuery in Action" (trop paresseux pour rechercher un lien, c'est un livre populaire cependant) et dans mon édition d'octobre 2008 à la p.45, ils listent une fonction "contient". Leur exemple, et celui auquel je me suis connecté ci-dessus à partir des docs jQuery, génèrent l'erreur OP ("not a function"). Est-ce qu'il y avait une fonction .contains qui a peut-être été supprimée? Ou a-t-il été ajouté après 1.2.1, la version utilisée dans l'exemple de code du livre? – Coderer

0

Je n'ai pas la réponse spécifique, mais il semble que vous gagniez beaucoup en utilisant un bon débogueur JS. Je recommande Firebug.

Explications sur la façon de l'utiliser ici: http://getfirebug.com/js.html

Comme cela, vous serez en mesure de voir les DOM, les différentes fonctions disponibles. Si ce n'est pas le cas, vous pourrez toujours poster une question plus précise.

Désolé pour ne pas être plus utile

0

Je sais que c'est bien (! Chemin) échues, mais j'ai demandé another question et il semblerait que le résultat net est "les anciennes versions de JQuery avaient une méthode .contains(), mais elle a été dépréciée." Yay pour casser votre API!

Questions connexes