我有一个函数,它在页面加载时将一个类添加到列表的第二个元素:
function top_view() {
var elem = $('#sglsPosts .sglsPostContainer:nth-child(2)');
if (elem.is(':visible')) {
elem.addClass('topView');
}
}
top_view();
我的检查元素显示已添加该类:
<nav>
<div id="moarUp"></div>
<div class="sglsPostContainer cpHighlight1 topView"></div>
</nav>
然后,点击,我想删除该类,所以我尝试了这个:
$('#moarUp').on('click', function () {
var elem = $('#sglsPosts .sglsPostContainer:nth-child(2)');
elem.removeClass('.topView');
});
我console.log
var elem
的输出,它说:
0: div.sglsPostContainer.cpHighlight1.topView
context: document
length: 1
prevObject: n.fn.init[1]
selector: "#sglsPosts .sglsPostContainer:nth-child(2)"
__proto__: Object[0]
这样对吗?
由于某些原因,这不起作用,有什么建议吗?
答案 0 :(得分:1)
不要将选择器用作参数,而是使用类的名称。变化
elem.removeClass('.topView');
到
elem.removeClass('topView');
答案 1 :(得分:1)
除了从要删除的类的名称中删除.
之外。您还可以使用 .next() :
$('#moarUp').on('click', function () {
$(this).next().removeClass('topView');
});
答案 2 :(得分:0)
你不应该添加。 removeClass上的选择器
只使用类名而不应该有问题。
elem.removeClass('topView');
Seee https://api.jquery.com/removeClass/了解更多详情