如何使用jquery选择元素的属性和属性不等于特定值?

时间:2016-09-26 15:10:51

标签: javascript jquery html attributes selector

我得到以下一行:

$("element").find("[attr!='val'][attr!='val'][attr!='val'][attr!='val'][attr!='val']") 

基于this回答。 我的页面停止运行。我的假设是它找到了页面中的所有不同元素,也找不到属性的元素。那是对的吗? 如果是这样,我该怎么办呢? 我试过了

$("element").not("[attr='val']") 
// instead of 
$("element").find("[attr!='val']")

它仍然使页面崩溃。 以下代码当然有效:

$("element").find("[attr='val']")

1 个答案:

答案 0 :(得分:2)

JQuery Has Attribute Selector [name] select元素只有属性而不考虑它的值。您需要在选择器的第一个位置添加[attr]

$("ul").find("[class][class!='A']").css("color", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="A">A</li>
  <li class="A">A</li>
  <li class="B">B</li>
  <li>C</li>
</ul>