0

私はまだFind-an-element-using-jquery-with-a-kind-of-regex-comparison-in-the-data-titleを試しています。ここではdiv、クラスのs.textboxと動的に生成されたデータタイトルがあります。そのため、その特定のデータタイトルのボックスを見つけたかったのですが、これは提案されたコードであり、エラーは発生しませんでした。

var $theboxes = $(".textbox[data-title^='"+dt+"']");

ただし、実際には存在していても、実際には何も見つからないようです.textbox。なぜなら、私が試みるときはいつでも$theboxes.length、それは常に0です。

ちなみに、これはデータタイトルの例ですen_Person_Title/ لقب。つまり、スラッシュの前は英語、スラッシュの後はアラビア語です。また、同じデータタイトル属性を持つテキストボックスが複数ありますが、コードでそれらのいずれも検出されません。何が問題なのか分かりますか?

4

2 に答える 2

2

「*=を試しましたが、差分はありません。」

^=StartsWith....を検索します。大文字と小文字が区別されます。

http://jsfiddle.net/BnQnV/1/

于 2012-12-18T18:20:28.310 に答える
1

jqueryで要素を選択すると、そのコードの実行時に存在する要素のみが選択されます。さらに要素を動的に追加したり、そのセレクターで選択できるように要素を変更したりする場合は、それらを再選択する必要があります。

var $theboxes = $(".textbox[data-title^='"+dt+"']");
console.log($theboxes.length); // 0

$(".textbox:not([data-title])").first().attr("data-title",dt+"foobar");
console.log($theboxes.length); // 0

$theboxes = $(".textbox[data-title^='"+dt+"']");
console.log($theboxes.length); // 1
于 2012-12-18T18:15:34.730 に答える