我想知道如何搜索所有的html LI但只匹配ID属性。从谷歌搜索,我看到这只是开始和结束,但没有任何使用两者但忽略中间部分。
示例...
要获得以“jander”开头的所有元素,您应该使用:
$("li[id^=jander]")
以“jander”结束那些结束
$("[id$=jander]")
但是匹配的那些以“abc”开头并以“xyz”结尾呢?
$("li[id???=abc???xyz]")
,如
$("li[id???=abc???xyz]").on('click', function() { alert('foo'); });
答案 0 :(得分:0)
你可以链接表达式:
$('li[id ^="abc"][id $="xyz"]')
$('li[id ^="abc"][id $="xyz"]').each(function(){
$("ul#results").append('<li>' + $(this).text() + '</li>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Unit tests:
<ul>
<li id="foo">a</li>
<li id="bar">b</li>
<li id="abc?????xyz">c</li>
<li id="ab???xyz">d</li>
<li id="abcxyz">e</li>
</ul>
Results:
<ul id="results">
</ul>
答案 1 :(得分:-1)
使用jQuery .filter()进一步过滤匹配中的元素:
$('li[id^="abc"]').filter('[id$="xyz"]').on();