我想使用jQuery来选择使用.prevUntil的元素,直到和包含带有包含特定字符串的id的输入的元素。我认为这应该是可能的,但我似乎无法让它发挥作用。
示例html:
<ul>
<li><input /></li>
<li><input id="stop" /></li>
<li><input /></li>
<li><input /></li>
<li><input /></li>
<li><input id="start" /></li>
<li><input /></li>
</ul>
示例javascript:
list = $('#start').parent().prevUntil('li:contains("input[id*=\'stop\']")';
list.css('background-color', 'red');
有一个jsfiddle here。
如果示例工作正常,则包含#start到包含#stop的li的每个元素都将为红色。
答案 0 :(得分:2)
您需要使用:has()
选择器而不是:contains()
选择器作为包含指定文本而非属性的:contains()
选择元素
$('#start').parent().prevUntil('li:has([id*="stop"])')