是否有一个选择器,我可以查询元素的ID,以给定的字符串结束?
假设我有一个元素的id为ctl00$ContentBody$txtTitle。我如何通过传递txtTitle得到这个?
是否有一个选择器,我可以查询元素的ID,以给定的字符串结束?
假设我有一个元素的id为ctl00$ContentBody$txtTitle。我如何通过传递txtTitle得到这个?
当前回答
试试这个:
<asp:HiddenField ID="0858674_h" Value="0" runat="server" />
var test = $(this).find('[id*="_h"').val();
其他回答
Try
$("element[id$='txtTitle']");
编辑:4秒晚:P
问题的答案是$("[id$='txtTitle']"),就像Mark Hurd回答的那样,但是对于那些像我一样,想要找到所有以给定字符串开头的id(例如txtTitle)的元素的人来说,试试这个(doc):
$("[id^='txtTitle']")
如果你想选择id包含给定字符串(doc)的元素:
$("[id*='txtTitle']")
如果你想选择id不是给定字符串(doc)的元素:
$("[id!='myValue']")
(它也匹配没有指定属性的元素)
如果你想选择id包含给定单词的元素,用空格(doc)分隔:
$("[id~='myValue']")
如果你想选择id等于给定字符串或以该字符串开头的连字符(doc)的元素:
$("[id|='myValue']")
因为这是ASP。NET,你可以简单地使用ASP <%= %>标签打印生成的txtTitle的ClientID:
$('<%= txtTitle.ClientID %>')
这将导致……
$('ctl00$ContentBody$txtTitle')
... 当页面呈现时。
注意:在Visual Studio中,智能感知会因为你在JavaScript中放入ASP标签而对你大喊大叫。您可以忽略这一点,因为结果是有效的JavaScript。
一个例子: 选择所有ID以_edit结尾的<a>s:
jQuery("a[id$=_edit]")
or
jQuery("a[id$='_edit']")
为了在包含多个iframe的页面中找到以“iframe”结尾的iframe id。
jQuery(document).ready(function (){
jQuery("iframe").each(function(){
if( jQuery(this).attr('id').match(/_iFrame/) ) {
alert(jQuery(this).attr('id'));
}
});
});