2016-09-28 3 views
0

特定のhtml要素に特定のクラスがあるかどうかを知りたい。「.hasClass()」が期待どおりに機能しないのはなぜですか?

以下の例では、要素にクラス「fa」があるかどうかを尋ねています。ご覧のとおり、<i>要素のクラスはfaですが、.hasClass()関数を使用するとfalseになります。

>> $("#row-CleceBasingstoke button:first").html() 
"<i style="padding:3px;" class="fa fa-lg more-less-icon fa-plus-square-o"></i>" 

>> $("#row-CleceBasingstoke button:first").hasClass("fa") 
false 

私は間違っていますか?

+5

は、あなたのHTMLコードを表示することができますか? –

+0

あなたのHTMLコードも入れてください –

+0

コードを表示しますか? –

答えて

4

を試してみてください。子供のためにhasClassを使用する必要があります。

console.log($("button i").hasClass("fa"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button><i class="fa"></i></button>

それとも内部クラスを持つ要素を検索:

console.log($("button").find(".fa").length >= 1); 
 
// or 
 
console.log($("button>.fa").length >= 1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button><i class="fa"></i></button>

0

faクラスは子要素であるこの

$("#row-CleceBasingstoke i:first").hasClass("fa") 
+2

' #row -BleaseBasingstokeボタン:最初のi' – str

+0

しかし彼は、彼の例では "i"を含むボタンがあるとは言いませんでしたHTML –

+0

彼の例は、 '$("#行-FlceBasingstokeボタン:最初 ")'の内容です。ボタン。 – JJJ

関連する問題