我有这样的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"/>