我從w3cschool的例子中構建了一個手風琴菜單。該示例是用純javascript編寫的。 我想重寫它在jQuery中,但它不起作用。 這是原文:jQuery選擇vs純javascript
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
,這是我的版本jQuery中:
$(".accordion").each(function (index) {
$(this).click(function() {
$(this).toggleClass("active");
$(this).next().toggleClass("show");
});
});
項目選中展開,但打開的項目不會關閉。 我在jQuery中錯了什麼地方?
謝謝!
只是一個提示,聲明變量一樣,是荒謬的。我個人將變量定義爲null,它們將它們糾正爲我希望它們與聲明分離的位置,但在您的情況下,我只會執行''var acc = document.getElementsById('accordion'),i = null;'' 。 – Crowes
@JoshCrowe你從哪裏得到這個想法? 'var i;'完全有效並將'i'初始化爲'undefined'。 – Boldewyn
@JoshCrowe請不要給錯誤的提示。 –