Je suis en train de rationaliser beaucoup de code jQuery, et la première chose que je veux faire est de définir des fonctions globalement pour qu'elles puissent être utilisées et réutilisées sur l'ensemble de la portée. Une fonction est pour le réglage des hauteurs égales aux éléments, en fonction de l'élément le plus élevé:La fonction jQuery ne lit pas les propriétés globalement
function setEqHeight(cont, classname) {
var maxHeight = 0;
$(cont).each(function(){
var prodName = $(classname,this);
$(prodName).each(function(){ if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } });
$(prodName).height(maxHeight);
});
}
Et je lance comme si
setEqHeight('.containername','.classname');
Cela fonctionne, aussi longtemps que je l'appelle à la fois à l'intérieur $j(document).ready(function($) { });
Mais je vouloir définir la fonction globalement, en dehors du document prêt, et appeler la fonction à l'intérieur.
Lorsque je définis la fonction en dehors de la portée de document prêt et l'appel à l'intérieur de la portée, j'obtiens l'erreur Uncaught TypeError: Cannot read property 'each' of null
. Comme il n'est plus capable de lire le 'nom de fichier'. Je suis perplexe, qu'est-ce que je fais mal?
Édition: jsFiddle here. Il fonctionne correctement là-bas, ce qui soulève la question pourquoi il ne fonctionne pas dans l'environnement de production
pouvez-vous faire un jsfiddle s'il vous plaît .. il n'y a rien de mal avec votre code, il devrait fonctionner correctement comme vous l'avez dit –
Que transmettez-vous. Nom_contenu est-il le nom de la div ou table? – jANVI
jsFiddle ajouté; ça marche vraiment là .. –