我有这样的html结构:

<input id="trigger0" type="hidden" value="Zero" />
<input id="trigerId0" type="hidden" value="8" />
<input id="trigger1" type="hidden" value="One" />
<input id="trigerId1" type="hidden" value="-1" />
<input id="trigger2" type="hidden" value="Two" />
<input id="trigerId2" type="hidden" value="6" />
<input id="trigger3" type="hidden" value="Three" />
<input id="trigerId3" type="hidden" value="4" />Testing:
<div >value</div>
<input type="text" name="fname" id='finalValue' size='200'>


我知道$(“ [id ^ ='trigger']”)将获得所有四个触发器输入。是否有可能创建一个jQuery语句,该语句仅返回对应的trigerId不是-1的触发器,在上面的代码中,将是trigger1,trigger3和trigger4

提前致谢

抱歉,我剪切/粘贴了错误的ID,需要查看trigerId值以确定是否应返回触发器。在实际情况下,名称并不相同,因此我从trigerId中删除了g以确保$(“ [id ^ ='trigger']”))没有获得trigerId。

最佳答案

在将条件应用于value属性本身时使用:not()

$('[id^="triggerId"]:not([value="-1"])')




console.log($('[id^="triggerId"]:not([value="-1"])') );

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input id="trigger0" type="hidden" value="???"/>
<input id="triggerId0" type="hidden" value="8"/>
<input id="trigger1" type="hidden" value="???"/>
<input id="triggerId1" type="hidden" value="-1"/>
<input id="trigger2" type="hidden" value="???"/>
<input id="triggerId2" type="hidden" value="6"/>
<input id="trigger3" type="hidden" value="???"/>
<input id="triggerId3" type="hidden" value="4"/>

09-25 21:50