为什么“.hasClass()”没有像我预期的那样工作?

时间:2016-09-28 08:24:42

标签: javascript jquery

我想知道某个html元素是否具有某个类。

在下面的例子中,我问的是元素是否具有“fa”类。正如您所看到的,<i>元素具有类fa,但在使用false函数时我得到.hasClass()

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

我做错了什么?

2 个答案:

答案 0 :(得分:4)

fa类位于子元素上。所以你需要在孩子身上使用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>

答案 1 :(得分:0)

试试这个

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