私はw3cschoolからアコーデオンメニューを作成するための例を取った。この例は、純粋なjavascriptで書かれています。 jQueryで書き直したいけど動作しません。 これはオリジナルです:jQueryの選択と純粋な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でどこが間違っていますか?
ありがとうございました!
だけ先端は、そのように変数を宣言することは無意味です。私は個人的に変数をヌルとして定義し、それらを宣言から分離したいものに修正しますが、あなたの場合は '' var acc = document.getElementsById( 'accordion')、i = null; '' 。 – Crowes
@JoshCroweあなたはどこからそのアイデアを得ましたか? 'var i;'は完全に有効で、 'i'を' undefined'に初期化します。 – Boldewyn
@JoshCrowe間違ったヒントをしないでください。 –