jQuery maxlength problema atributo com textareas
-
22-08-2019 - |
Pergunta
Com a versão jQuery 1.2.3 Estou tentando adicionar nós depois de elementos textarea com o atributo 'maxlength', mas ele não funciona:
$("textarea[@maxlength]").after("<b>Aint working</b>");
Este é o 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>
O estranho é, se eu mudar o maxlength
atributo com por exemplo, rel
que ele funciona muito bem!
Confira este exemplo da vida real: http://www.host2000.be/_temp/jquery_tests_counter.html
PS: Eu estou ciente do [@Attribute] notação que já não é suportado no jQuery 1.3, mas isso não tem nada a ver com o problema
.Solução
Com a sua versão do jQuery, ele funciona apenas com um pequeno truque. O valor implícito de textarea tem valores diferentes para diferentes navegadores. Firefox, por exemplo, tem o valor implícito de -1.
Assim, a fim seu script para trabalhar no Firefox que você precisa fazer o seguinte:
$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");
Aqui pode encontrar mais informações sobre os valores implícitos de atributo maxlength
.
Aproveite!
Outras dicas
tiro no escuro: pode ser porque maxlength não é um atributo válido para textareas .
EDIT:. Eu apenas tentei o seu exemplo, com jQuery 1.3 e remover o @, e ele funcionou perfeitamente
EDIT # 2: Usando jQuery 1.2.6 também funciona sem o @ ... Você tentou removê-los