4

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>

奇妙なことに、maxlengthegで属性を変更すると、rel問題なく動作します。

この実際の例を確認してください: http://www.host2000.be/_temp/jquery_tests_counter.html

PS: [@attribute] 表記が jQuery 1.3 でサポートされなくなったことは承知していますが、これは問題とは関係ありません。

4

2 に答える 2

3

暗闇で撮影:maxlengthがtextareasの有効な属性ではないことが原因である可能性があります。

編集:jQuery 1.3であなたの例を試し、@を削除しましたが、問題なく機能しました。

編集#2:jQuery 1.2.6を使用すると、@なしでも機能します...それらを削除してみましたか?

于 2009-03-25T13:05:54.103 に答える
3

お使いのバージョンのjQueryでは、ちょっとしたトリックでしか機能しません。textareaの暗黙の値は、ブラウザーごとに異なる値になります。たとえば、Firefoxの暗黙の値は-1です。

したがって、スクリプトをFirefoxで動作させるには、次のことを行う必要があります。

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

ここでは、属性の暗黙的な値に関する詳細情報を見つけることができmaxlengthます。

楽しみ!

于 2009-03-25T13:15:15.110 に答える