Pregunta

Con la versión de jQuery 1.2.3 Estoy intentando añadir nodos después de los elementos de área de texto con el atributo 'maxlength' pero no funciona:

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

Este es el código HTML:

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

Lo curioso es, si cambio de la maxlength atributo con, por ejemplo, rel que funciona muy bien!

Mira este ejemplo de la vida real: http://www.host2000.be/_temp/jquery_tests_counter.html

PS:. Soy consciente de la notación [@attribute] que ya no se admite en jQuery 1.3, pero esto no tiene nada que ver con el problema

¿Fue útil?

Solución

Con su versión de jQuery, que sólo funciona con un pequeño truco. El valor implícito del área de texto tiene diferentes valores para diferentes navegadores. Firefox, por ejemplo, tiene el valor implícito de -1.

Por lo tanto, con el fin de su escritura para trabajar en Firefox que tiene que hacer lo siguiente:

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

Aquí puede encontrar más información acerca de los valores implícitos de atributo maxlength.

Disfrute!

Otros consejos

disparo en la oscuridad: puede ser porque maxlength no es un atributo href="http://www.w3schools.com/tags/tag_textarea.asp" rel="nofollow noreferrer"> .

EDIT:. He intentado simplemente tu ejemplo con jQuery 1.3 y la eliminación de la @, y funcionó sin problemas

EDITAR # 2: Uso de jQuery 1.2.6 también funciona sin el @ ... ¿Los ha intentado quitar

?
scroll top