According to jQuery's API, .length
devrait fonctionner même que .size()
, donc je ne pense pas que ce soit la question. Je pense que le problème pourrait être dans la façon dont vous utilisez la méthode jQuery.each()
. Encore une fois, according to the API, le rappel jQuery.each()
passe en deux valeurs: indexInArray
(que vous utilisez comme index
) et valueOfElement
(que vous utilisez comme element
). Le problème peut être avec IE7 étant incapable de transformer votre valueOfElement
en un objet jQuery, et donc il ne peut pas obtenir la propriété .length
de celui-ci.
Je ne suis pas familier avec le code Drupal, donc je ne l'ai pas testé, mais je pense que cette ligne:
if ($(element).length) {
pourrait être réécrite comme ceci:
if ($(element) && $(element).length) {
pour fixer votre problème.
Je m'excuse de ne pas être en mesure de tester cela en premier, mais j'espère que cela fonctionne.
.length fait partie de l'API jQuery. Il renvoie le nombre d'éléments dans l'objet jQuery, la même valeur que .size(). voir: http://api.jquery.com/length/ – Fermin
mon erreur, ur droite. –