有没有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");
});
这个问题的答案是$("[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']")
尝试
$("element[id$='txtTitle']");
编辑:迟到4秒:P
$('element[id$=txtTitle]')
引用您要匹配的文本片段并不是绝对必要的
将下划线或$添加到您正在搜索的术语中更安全,因此不太可能匹配以相同ID结尾的其他元素:
$("element[id$=_txtTitle]")
(其中element是您要查找的元素类型 - 例如div
,input
等等.
(注意,你建议你的ID往往有$符号,但我认为.NET 2现在倾向于在ID中使用下划线,所以我的例子使用下划线).