jQueryを使用して、要素IDに特定のテキストが含まれているページ上のすべての要素を検索します


回答:


201
$('*[id*=mytext]:visible').each(function() {
    $(this).doStuff();
});

セレクタの先頭にあるアスタリスク「*」がすべての要素に一致することに注意してください。

属性にセレクターが含まれる、およびvisibleおよび:hiddenセレクターを参照してください。


17
要素に一致するid場合は引用符を使用しないことに言及する価値があるかもしれnameません。 $('*[name*="myname"]:visible') 最も直感的ではなく、以前に追いついたことがあります。
ficuscr 2013年

$(this).doStuff();を置き換えました。this.doStuff(); と働きました
CarlosLópezMaríJan 11、18:

133

Containsで検索しいる場合は、次のようになります

    $("input[id*='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Starts Withで検索する場合は、次のようになります。

    $("input[id^='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Ends Withで検索すると、次のようになります。

     $("input[id$='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

与えられた文字列ではない要素を選択したい場合

    $("input[id!='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

名前にスペースで区切られた特定の単語を含む要素を選択する場合

     $("input[name~='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

特定の文字列と等しいか、その文字列で始まりハイフンが続く要素を選択する場合

     $("input[id|='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

こんにちは、IDが配列に属する要素を選択するためにセレクターをどのように使用できますか?
bpa.mdl

20

これにより、IDが「foo」を含み、表示されているすべてのDIVが選択されます

$("div:visible[id*='foo']");

divではなくtextbox要素を検索している場合、それは単純に$( "input:visible [id * = 'foo']");です。?
user48408 2009

$( "input [type = 'textbox'] [id * = 'foo']:visible")
karim79

1
@ port-zero
'foo

要素の値(私の場合はspans)を取得しようとしている場合は、取得する必要があります$(this)[0].innerText
Niklas

6

お二人に感謝します。これは私にとっては完璧に機能しました。

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.