テキストエリアでのjQueryのMAXLENGTH属性の問題
-
22-08-2019 - |
質問
jQueryのバージョン1.2.3で、私は、属性「MAXLENGTH」とTEXTAREA要素の後にノードを追加しようとしているが、それは動作しません。
$("textarea[@maxlength]").after("<b>Aint working</b>");
これはHTMLコードです。
<textarea maxlength="500">This is a test.</textarea>
<textarea maxlength="250">Yet another line.</textarea>
<textarea maxlength="125">Bar or foo, whatever.</textarea>
maxlength
を変更する場合は、奇妙なことは、ありますそれよりrel
だけで正常に動作します!
この実際の生活の例をご覧ください: http://www.host2000.be/_temp/jquery_tests_counter.htmlする
PS:私は、もはやjQueryの1.3でサポートされています[@attribute]表記を認識してんだけど、これは問題とは何の関係もありません。
解決
のjQueryのバージョンと、それだけで小さなトリックで動作します。テキストエリアの暗黙の値は、別のブラウザに対して異なる値を持っています。 Firefoxは、例えば-1の暗黙の価値を持っています。
だから、Firefoxの上で動作するため、あなたのスクリプトの中で次の操作を実行する必要があります:
$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");
ここであなたが見つけることができますをmaxlength
属性の暗黙の値についての詳細情報。
お楽しみください!
他のヒント
ショット:MAXLENGTHは、テキストエリアのために有効な属性<ではないので、それがかもしれ/ >。
編集:私はjQueryの1.3であなたの例を試してみましたが、@を除去し、それが完璧に働いてきた。
EDIT#2:jQueryのを使用すると、それはまた、@なしで動作1.2.6 ...あなたはそれらを削除しようとしたことがあります。
?