418

selector特定の文字列で終わる ID を持つ要素を照会できるものはありますか?

のIDを持つ要素があるとしctl00$ContentBody$txtTitleます。渡すだけでこれを取得するにはどうすればよいtxtTitleですか?

4

9 に答える 9

663

要素のタイプがわかっている場合: (例: 'element' を 'div' に置き換えます)

$("element[id$='txtTitle']")

要素の種類がわからない場合:

$("[id$='txtTitle']")

利用可能な詳細情報


// the old way, needs exact ID: document.getElementById("hi").value = "kk";
$(function() {
  $("[id$='txtTitle']").val("zz");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="ctl_blabla_txtTitle" type="text" />

于 2009-03-04T06:06:42.337 に答える
260

Mark Hurd が答え$("[id$='txtTitle']")たように、質問への答えは ですが、私のように、特定の文字列 (txtTitle など)で始まるID を持つすべての要素を見つけたい場合は、これを試してください ( doc ):

$("[id^='txtTitle']")

特定の文字列 ( doc ) を含むid 要素を選択する場合:

$("[id*='txtTitle']")

idが特定の文字列 ( doc ) ではない要素を選択する場合:

$("[id!='myValue']")

(指定された属性を持たない要素にも一致します)

スペースで区切られた特定の単語( doc )を id に含む要素を選択する場合:

$("[id~='myValue']")

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

$("[id|='myValue']")
于 2011-05-03T07:15:24.197 に答える
35

試す

$("element[id$='txtTitle']");

編集:4秒遅れ:P

于 2009-03-04T06:06:46.317 に答える
33
$('element[id$=txtTitle]')

照合するテキスト フラグメントを引用する必要は厳密にはありません。

于 2009-03-20T14:50:46.640 に答える
13

同じ ID で終わる他の要素と一致する可能性が低くなるように、検索する用語にアンダースコアまたは $ を追加する方が安全です。

$("element[id$=_txtTitle]")

( elementは、検索しようとしている要素のタイプです。たとえばdivinputなどです。

(注: ID に $ 記号が含まれる傾向があることを示唆していますが、.NET 2 では代わりに ID にアンダースコアを使用する傾向があるため、私の例ではアンダースコアを使用しています)。

于 2009-05-14T08:29:01.250 に答える
3

これは ASP.NET であるため、ASP <%= %> タグを使用するだけで、生成された txtTitle の ClientID を出力できます。

$('<%= txtTitle.ClientID %>')

これにより...

$('ctl00$ContentBody$txtTitle')

...ページがレンダリングされるとき。

注: Visual Studio では、JavaScript に ASP タグを挿入すると、Intellisense から警告が表示されます。結果は有効な JavaScript であるため、これは無視できます。

于 2012-10-19T15:27:42.753 に答える
3

例: <a>ID が _edit で終わるすべての を選択するには:

jQuery("a[id$=_edit]")

また

jQuery("a[id$='_edit']")
于 2010-07-22T08:24:26.707 に答える
1

これを試して:

<asp:HiddenField ID="0858674_h" Value="0" runat="server" />

var test = $(this).find('[id*="_h"').val();
于 2012-05-09T09:16:14.770 に答える
0

多くのiframeを含むページ内で「iFrame」で終わるiframe IDを見つけるため。

jQuery(document).ready(function (){     
                  jQuery("iframe").each(function(){                     
                    if( jQuery(this).attr('id').match(/_iFrame/) ) {
                            alert(jQuery(this).attr('id'));

                     }                   
                  });     
         });
于 2011-12-06T20:32:43.830 に答える