Question

Avec la version jQuery 1.2.3 Je suis en train d'ajouter des nœuds après éléments textarea avec attribut « maxlength », mais il ne fonctionne pas:

$("textarea[@maxlength]").after("<b>Aint working</b>");

Voici le code HTML:

<textarea maxlength="500">This is a test.</textarea>
<textarea maxlength="250">Yet another line.</textarea>
<textarea maxlength="125">Bar or foo, whatever.</textarea>

La chose étrange est, si je change le maxlength d'attribut avec par exemple rel que cela fonctionne très bien!

Consultez cet exemple de la vie réelle: http://www.host2000.be/_temp/jquery_tests_counter.html

PS:. Je suis au courant de la [@attribute] notation qui n'est prise en charge dans jQuery 1.3, mais cela n'a rien à voir avec le problème

Était-ce utile?

La solution

Avec votre version de jQuery, il ne fonctionne qu'avec un petit truc. La valeur implicite de textarea a des valeurs différentes pour les différents navigateurs. Firefox, par exemple, a la valeur implicite de -1.

Alors, pour votre script fonctionne sur Firefox, vous devez faire ce qui suit:

$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");

vous pouvez trouver plus d'informations sur les valeurs implicites de l'attribut maxlength.

Amusez-vous!

Autres conseils

Prise de vue dans l'obscurité: il peut être parce que maxlength n'est pas un attribut valide pour textarea .

EDIT:. Je viens d'essayer votre exemple avec jQuery 1.3 et enlever le @, et cela a fonctionné parfaitement

EDIT # 2: Utilisation de jQuery 1.2.6 fonctionne aussi sans @ ... Avez-vous essayé de les supprimer

?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top