是否有一个selector
,我可以查询具有以给定字符串结尾的ID的元素?
假设我有一个id为ctl00$ContentBody$txtTitle
。 我怎么能通过传递txtTitle
得到这个?
#1楼
试试这个:
<asp:HiddenField ID="0858674_h" Value="0" runat="server" />
var test = $(this).find('[id*="_h"').val();
#2楼
由于这是ASP.NET,您只需使用ASP <%=%>标记来打印生成的txtTitle的ClientID:
$('<%= txtTitle.ClientID %>')
这将导致......
$('ctl00$ContentBody$txtTitle')
...当呈现页面时。
注意:在Visual Studio中,Intellisense会因为将ASP标记放在JavaScript中而大吼大叫。 您可以忽略它,因为结果是有效的JavaScript。
#3楼
例如:选择ID以_edit结尾的所有<a>
:
jQuery("a[id$=_edit]")
要么
jQuery("a[id$='_edit']")
#4楼
这个问题的答案是$("[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']")
#5楼
如果您知道元素类型,那么:(例如:将'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" />
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3166163