Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery获取以前的元素,直到包含id为_Javascript_Jquery - Fatal编程技术网

Javascript jQuery获取以前的元素,直到包含id为

Javascript jQuery获取以前的元素,直到包含id为,javascript,jquery,Javascript,Jquery,我想使用jQuery来选择使用.prevUtil和元素的元素,该元素包含一个id为包含特定字符串的输入。我认为这应该是可能的,但我似乎无法让它工作 html示例: <ul> <li><input /></li> <li><input id="stop" /></li> <li><input /></li> <li><input

我想使用jQuery来选择使用.prevUtil和元素的元素,该元素包含一个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>
有一个JSFIDLE

如果示例工作正常,则从包含li的开始到包含li的停止的每个元素都将是红色。

您需要使用选择器而不是选择器作为包含指定文本not属性的select元素

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

谢谢你,是什么原因使我写它的方式不起作用?为什么让选择器里面有这么复杂?更简单、更直接。@T.J.克劳德:现在回答你的问题,我有完整的信息。。。因为OP没有提及标识符是需要部分匹配的生成字符串,即它们都以stop开头。当然,这意味着开始标记同样错误,所以这个答案也不完整。我已经删除了我的答案,将从愚蠢中休息几天。niao的Ciao:@LukeCaldwell:这个信息真的应该在问题中。它是。问题标题说获取以前的元素,直到包含id为containing的元素。第一句话是用一个包含特殊字符串的id?它并没有说开始标记需要有这个条件。你有没有具体的理由发布第二个答案?我错过了什么特别的东西吗?
$('#start').parent().prevUntil('li:has([id*="stop"])')