我目前正在使用茉莉花因果进行测试。
有一种测试方案:
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?
答案 0 :(得分:1)
jQuery hasClass()确定是否为任何匹配的元素分配了给定的类。
如果将类分配给一个.hasClass()方法,则该方法将返回true。 元素,即使其他类也是如此。例如,给定HTML 上面的代码,则将返回true:
要检查的事情:
确保没有其他javascript错误
确保您的代码可以应用addClass()函数。
使用<a href="{% url 'teacher-profile' teacher.pk %}">
并检查开发人员工具栏以调试正在应用此类的函数
请检查以下示例:
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');
}
})