jQuery获取前面的元素,直到包含一个id为的元素

时间:2015-07-23 11:53:05

标签: javascript jquery

我想使用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的每个元素都将为红色。

1 个答案:

答案 0 :(得分:2)

您需要使用:has()选择器而不是:contains()选择器作为包含指定文本而非属性的:contains()选择元素

$('#start').parent().prevUntil('li:has([id*="stop"])')

DEMO