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

.
Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top