我正在测试使用茉莉业力目前。
有一个测试场景:
单击并突出显示一个元素
单击并突出显示后,它将有一个新的class
属性,其html将从<a xlink:href="#" data-lrn-index="0" role="checkbox" aria-label="Response area" aria-checked="false">
更改为<a xlink:href="#" data-lrn-index="0" role="checkbox" aria-label="Response area" aria-checked="true" class="lrn-selected">
我已经用这个jQuery找到了这个元素,$("a[data-lrn-index='0']")
,但是这个jQuery将返回false
,$("a[data-lrn-index='0']").hasClass("lrn-selected")
从这个元素HTML中,它清楚地显示它有一个class = ("lrn-selected")
,为什么jQuery不能返回true?
最佳答案
jQueryhasClass()确定是否为任何匹配的元素分配了给定的类。
如果将类分配给
元素,即使其他类也是。例如,给定HTML
以上,将返回以下值:
检查事项:
确保没有其他javascript错误
确保您的代码正在应用addClass()函数。
使用debugger
并选中开发工具工具栏调试正在应用该类的函数
请检查以下示例:
$("a[data-lrn-index='0']").click(function () {
if ($(this).hasClass('lrn-selected')) {
$(this).html('Yes, I had that class');
$(this).removeClass('lrn-selected');
}
else {
$(this).html('Class removed');
$(this).addClass('lrn-selected');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Toggle click for class availability:</p>
<a href="#" data-lrn-index="0" role="checkbox" aria-label="Response area" aria-checked="false">Click here to check class</a>