由于某些原因,. toggleclass()函数不存在于这段jQuery代码中,但其余的jQuery方法都在工作。我错过了什么?
let listNode, imageNode, imageLinks;
let colapseExpend = (subject) => {
subject.toggleClass("plus");
subject.toggleClass("minus");
subject.next().toggleClass("open");
subject.next().toggleClass("closed");
imageNode.attr("src", "");
imageNode.css("display", "none");
}
$(document).ready(function () {
listNode = $("#categories").find("h2");
imageNode = $("#image");
for (let i in listNode) {
$(i).click(function (e) {
colapseExpend(this);
});
}
});
据我所知,colapseExpend(this);
中的this
是一个普通的DOMElement
对象,不再是jQuery
对象。在collapseExpend
中,您希望在$()
中重新换行:
let colapseExpend = (subject) => {
let $subject = $(subject)
$subject.toggleClass("plus");
$subject.toggleClass("minus");
$subject.next().toggleClass("open");
$subject.next().toggleClass("closed");
imageNode.attr("src", "");
imageNode.css("display", "none");
}