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

È stato utile?

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

?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top