idが始まるhtml要素を検索します


89

私の質問はこれです:

複数のページにHTMLコードがあり、それぞれにJQgrid(jqueryグリッド)を使用してデータを表示しました。これらの各ページで、JQgridを保持する要素の名前が「LIST_xxx」であることを私は知っていました。次に、各ページでその要素「LIST_XXXX」を取り、いくつかの処理を行うJavaScriptを作成する必要があります。IDで要素を検索するにはどうすればよいですか?ただし、(前述のように、IDの)最初の部分しかわかりません。

$('#list_[XXXX]')... --> The part surrounded by [] is variable on each page, i want to discriminate that.

私は自分自身を明確にしたと思います。ありがとう。

回答:


173

試してみてください

$('div[id^="list_"]')

動作するはずです


その参照のレイアウトは、jqueryのドキュメントよりもはるかに優れています。
Yuriy Faktorovich 2010

これはうまく機能します... if($( 'div [id $ = "' + val + '"]')。length> 0)のような特定の値で終わるIDを見つけるために使用しました。
raphie 2013

まあ、それはコントロールの上記の単純なIDに対してうまく機能します。「txt_0_city」、「txt_1_city」、「txt_2_city」、「txt_3_city」などのIDを持つコントロールがあり、「txt _ * _city」などのIDを持つすべての要素の数が必要なシナリオで機能させる方法"
Rajiv Bhardwaj 2015年

@Rajiv htmlを制御できる場合は、これらの各要素に「city」のようなクラスを追加するとよいでしょう。その後、簡単に数えることができます。
グレンリトル

@Rajivでhtmlを改善できない場合は、api.jquery.com / multiple - attribute -selectorを確認してください。セレクターを組み合わせることができます。たとえば、$( "span [id ^ = 'txt _'] [id $ = '_ city']")
グレンリトル

22

次のように、selector始まる属性を使用する必要があります

$('[id^=list_]').whatever()

まあ、それはコントロールの上記の単純なIDに対してうまく機能します。「txt_0_city」、「txt_1_city」、「txt_2_city」、「txt_3_city」などのIDを持つコントロールがあり、「txt _ * _city」などのIDを持つすべての要素の数が必要なシナリオで機能させる方法"
Rajiv Bhardwaj 2015年

こんにちは@ Rajiv、stackoverflowへようこそ。私はあなたのコメントの他のコピーに返信しました。
グレンリトル

8

その要素に、クエリ可能な共通のクラス名またはその他の属性を付けます。


こんにちは、あなたの答えに感謝します、あなたの提案の問題は、JQgridを保持する複数のテーブルがあるかもしれないということです、それで「LIST_customer」、「LIST_carrier」...などがあるかもしれません。そして、最初のID部分「LIST_」のみに基づいて両方を選択する必要があります。
リデルミン2010

1
私は理解していますが、それらをすべてListクラスにすることは、私にとってより読みやすく、説明的なアプローチのように思えます。他の回答で示されているように、それぞれに、jqueryのstartswithselectorをいつでも使用できます。
Yuriy Faktorovich 2010

@liderminYuriyの言うことはうまくいくはずです。プレフィックスとしてlist_があるので、「list」などのクラスをコントロールに追加しないのはなぜですか。そのため、そのクラスを選択すると、それらの各コントロールが取得されます。これが最も効率的な方法です。
Josh Mein 2010

ユーリーの答えはうまくいくでしょう。同じクラス(たとえば、「ListsINeedToFind」)をすべての「LIST_XXXX」要素に追加してから、を使用してそれらを検索できます$('.ListsINeedToFind')
アナベル2010

クラスは同じでIDが異なる複数の要素が必要になる場合があります。
ヴィンセント


1

特定のID /文字で終わる要素を取得するには

find('[id$=someid]')

特定のID /文字で始まる要素を取得するには

find('[id*=anotherid]')

特定のID /文字と一致する要素を取得するには

find('[id^=id]')
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.