考虑到您尚未提及但会发现有用的内容,让我提供更广泛的答案。
对于您当前的问题,答案是
$("div[id^='editDialog']");
插入符号 (^) 取自正则表达式,表示starts with
。
方案一
// Select elems where 'attribute' ends with 'Dialog'
$("[attribute$='Dialog']");
// Selects all divs where attribute is NOT equal to value
$("div[attribute!='value']");
// Select all elements that have an attribute whose value is like
$("[attribute*='value']");
// Select all elements that have an attribute whose value has the word foobar
$("[attribute~='foobar']");
// Select all elements that have an attribute whose value starts with 'foo' and ends
// with 'bar'
$("[attribute^='foo'][attribute$='bar']");
attribute
在上面的代码可以被改变成任何属性,该属性的元素可以具有,例如href
,name
,id
或src
。
解决方案2
使用类
// Matches all items that have the class 'classname'
$(".className");
// Matches all divs that have the class 'classname'
$("div.className");
解决方案3
列出它们(也在之前的答案中注明)
$("#id1,#id2,#id3");
解决方案4
对于当你改进的时候,正则表达式(从来没有真正使用过这些,解决方案一一直就足够了,但你永远不知道!
// Matches all elements whose id takes the form editDialog-{one_or_more_integers}
$('div').filter(function () {this.id.match(/editDialog\-\d+/)});