質問

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

ctl00$ContentBody$txtTitleのidを持つ要素があるとします。 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" />

他のヒント

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

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

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

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

idがではない指定された文字列( doc ):

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

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

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

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

idが指定された文字列と等しいか、その文字列で始まりハイフンが続く要素 doc ):

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

試用

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

編集:4秒遅れ:P

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

一致するテキストフラグメントを引用符で囲む必要はありません

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

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

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

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

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

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

または

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

これはASP.NETであるため、単にASP <!> lt;%=%<!> gt;を使用できます。 txtTitleの生成されたClientIDを印刷するタグ:

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

これにより、...

$('ctl00$ContentBody$txtTitle')

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

注:Visual Studioでは、IntellisenseがJavaScriptにASPタグを挿入したことを叫ぶでしょう。結果は有効なJavaScriptであるため、これは無視できます。

これを試してください:

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

var test = $(this).find('[id*="_h"').val();

<!> quot; iFrame <!> quotで終わるiframe idを見つけるため多くのiframeを含むページ内。

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

                     }                   
                  });     
         });
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top