selector
特定の文字列で終わる ID を持つ要素を照会できるものはありますか?
のIDを持つ要素があるとしctl00$ContentBody$txtTitle
ます。渡すだけでこれを取得するにはどうすればよいtxtTitle
ですか?
selector
特定の文字列で終わる ID を持つ要素を照会できるものはありますか?
のIDを持つ要素があるとしctl00$ContentBody$txtTitle
ます。渡すだけでこれを取得するにはどうすればよいtxtTitle
ですか?
要素のタイプがわかっている場合: (例: '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" />
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']")
試す
$("element[id$='txtTitle']");
編集:4秒遅れ:P
$('element[id$=txtTitle]')
照合するテキスト フラグメントを引用する必要は厳密にはありません。
同じ ID で終わる他の要素と一致する可能性が低くなるように、検索する用語にアンダースコアまたは $ を追加する方が安全です。
$("element[id$=_txtTitle]")
( elementは、検索しようとしている要素のタイプです。たとえばdiv
、input
などです。
(注: ID に $ 記号が含まれる傾向があることを示唆していますが、.NET 2 では代わりに ID にアンダースコアを使用する傾向があるため、私の例ではアンダースコアを使用しています)。
これは ASP.NET であるため、ASP <%= %> タグを使用するだけで、生成された txtTitle の ClientID を出力できます。
$('<%= txtTitle.ClientID %>')
これにより...
$('ctl00$ContentBody$txtTitle')
...ページがレンダリングされるとき。
注: Visual Studio では、JavaScript に ASP タグを挿入すると、Intellisense から警告が表示されます。結果は有効な JavaScript であるため、これは無視できます。
例: <a>
ID が _edit で終わるすべての を選択するには:
jQuery("a[id$=_edit]")
また
jQuery("a[id$='_edit']")
これを試して:
<asp:HiddenField ID="0858674_h" Value="0" runat="server" />
var test = $(this).find('[id*="_h"').val();
多くのiframeを含むページ内で「iFrame」で終わるiframe IDを見つけるため。
jQuery(document).ready(function (){
jQuery("iframe").each(function(){
if( jQuery(this).attr('id').match(/_iFrame/) ) {
alert(jQuery(this).attr('id'));
}
});
});