jQuery maxlength Attribut Problem mit Textareas
-
22-08-2019 - |
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
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
?