2016-09-26 1 views
0

私は次の行だ:this回答に基づいてjqueryを使用して、要素を選択する方法の属性と属性が特定の値と等しくない

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

を。 マイページの実行が停止します。私の前提は、ページ内のすべての異なる要素を検出し、属性を持たない要素も検出するということです。あれは正しいですか? これを修正するにはどうすればよいですか? 私は試しました

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

それはまだページをクラッシュしました。当然の 次のコードの作品:

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

あなたはバイオリンを作ることができますか?なぜなら、1つの.find()だけを使用しない理由です。 –

+0

':not([attr = 'val'])' – jcubic

+0

@jcubic ie 'jQuery( '#element'):not([attr = val ']) 'とは対照的に? – IsaacDj

答えて

1

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>

関連する問題