2016-09-28 1 views
0

Ich möchte wissen, ob ein bestimmtes HTML-Element eine bestimmte Klasse hat.Warum funktioniert ".hasClass()" nicht wie erwartet?

Im folgenden Beispiel frage ich, ob ein Element die Klasse "fa" hat. Wie Sie sehen können, hat das <i> Element die Klasse fa, aber ich bekomme false, wenn ich die .hasClass() Funktion verwende.

>> $("#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 

Was mache ich falsch?

+5

Können Sie Ihren HTML-Code zeigen? –

+0

Bitte setzen Sie Ihren HTML-Code auch –

+0

Zeigen Sie Ihren Code? –

Antwort

4

Die fa Klasse auf das Kind-Element ist. Also müssen Sie hasClass auf das Kind verwenden.

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>

Oder Sie mit der Klasse im Inneren für ein Element suchen:

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

Versuchen Sie, diese

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

Es sollte' #row sein -CleceBasingstoke button: first i' – str

+0

Aber er sagte nicht, dass es eine Schaltfläche mit dem "i" in seinem Beispiel gab HTML –

+0

Sein Beispiel ist der Inhalt von '$ (" # row-CleceBasingstoke button: first ") was ist ein Knopf. – JJJ

Verwandte Themen