2009-07-30 9 views
86

要素IDに特定のテキストが含まれているページのすべての要素を検索しようとしています。検索された要素が隠されているかどうかに基づいてフィルタリングする必要があります。どんな助けでも大歓迎です。jQueryを使用して要素IDが特定のテキストを含むページのすべての要素を検索します。

+0

可能重複[jQueryのセレクタ正規表現(http://stackoverflow.com/questions/190253/jquery-selector-regular-expressions)の –

答えて

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

セレクタの先頭に「*」が付いていることに注意してください。matches all elements

Attribute Contains Selectorsおよび:visibleおよびセレクタを参照してください。

+8

多分価値要素の 'id'とのマッチングで引用符を使用しない場合、' name'とのマッチングの際にどこを参照するのかについて言及しています。 '$( '* [name * =" myname "]:visible')'最も直感的ではなく、前に私を捕まえました。 – ficuscr

14

これは「foo」を含むIDを持つすべてのdiv要素を選択し、それはあなたの両方に

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

divではなくtextbox要素を検索している場合は、$( "input:visible [id * = 'foo']"); ? – user48408

+0

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

+1

@ port-zero - 'foo'を囲む単一引用符は必要ありません – karim79

5

おかげで見ることができます。これは私にとって完璧に機能しました。

$("input[type='text'][id*=" + strID + "]:visible").each(function() { 
    this.value=strVal; 
}); 
90

あなたはで発見している場合は、それはあなたがで開始により発見している場合、それはこの

のようになります。この

$("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[id$='DiscountType']").each(function (i, el) { 
     //It'll be an array of elements 
    }); 

あなたがスペースで区切られidが指定した単語が含まれている要素を、選択したい場合はidが与えられた文字列

$("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 
    }); 

idが与えられたsと等しい要素を選択したい場合トリングまたはハイフンに続くその文字列から始まる

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