jQuery maxlength problema attributo con textareas
-
22-08-2019 - |
Domanda
Con la versione jQuery 1.2.3 Sto cercando di aggiungere nodi dopo elementi dell'area di testo con l'attributo 'maxlength', ma non funziona:
$("textarea[@maxlength]").after("<b>Aint working</b>");
Questo è il codice 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 cosa strana è, se cambio la maxlength
attributo con per esempio rel
che funziona bene!
Guarda questo esempio di vita reale: http://www.host2000.be/_temp/jquery_tests_counter.html
PS:. Sono consapevole della notazione [@attribute] che non è più supportato in jQuery 1.3, ma questo non ha nulla a che fare con il problema
Soluzione
Con la versione di jQuery, funziona solo con un piccolo trucco. Il valore implicito della textarea ha valori diversi per differenti browser. Firefox, ad esempio, ha il valore implicito di -1.
Quindi, al fine lo script di lavorare su Firefox è necessario effettuare le seguenti operazioni:
$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");
Qui si possono trovare maggiori informazioni sui valori impliciti di attributo maxlength
.
Enjoy!
Altri suggerimenti
sparo nel buio: può essere perché maxlength non è un attributo valido per textarea .
EDIT:. Ho appena provato il tuo esempio con jQuery 1.3 e la rimozione del @, e ha funzionato senza problemi
EDIT # 2: utilizzando jQuery 1.2.6 che funziona anche senza la @ ... Hai provato la loro rimozione
?