Frage

Mit jQuery-Version 1.2.3 Ich versuche Knoten nach TextArea- Elemente mit dem Attribut ‚maxlength‘ hinzufügen, aber es funktioniert nicht:

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

Dies ist der HTML-Code:

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

Das Seltsame ist, wenn ich das Attribut maxlength mit beispielsweise ändern rel als es funktioniert gut!

Überprüfen Sie diese richtiges Beispiel aus: http://www.host2000.be/_temp/jquery_tests_counter.html

PS:. Ich bin mir bewusst, der [@attribute] Notation, die nicht mehr in jQuery 1.3 unterstützt wird, aber das hat nichts mit dem Problem zu tun

War es hilfreich?

Lösung

Mit Ihrer Version von jQuery, es funktioniert nur mit einem kleinen Trick. Der implizite Wert des Textbereiches hat verschiedene Werte für verschiedenen Browser. Firefox, zum Beispiel hat den impliziten Wert von -1.

So, Ihr Skript, um auf Firefox Sie arbeiten müssen folgendes tun:

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

Hier finden Sie weitere Informationen über die impliziten Werte von maxlength Attribute.

Genießen Sie!

Andere Tipps

Schuss im Dunkeln: es kann sein, weil maxlength ist kein gültiges Attribut für Textbereiche .

EDIT:. Ich habe gerade versucht, Ihr Beispiel mit jQuery 1.3 und den @ entfernen, und es funktionierte einwandfrei

EDIT # 2: Mit jQuery 1.2.6 funktioniert es auch ohne die @ ... Haben Sie sie versucht zu entfernen

?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top