私は非常にシンプルなキャンバスメニューをjQueryで正常に機能させました。私はバニラのjavascriptで書き直そうとしています。jQueryを削除していますが、.className + =動作していませんか?
次のコードでは、addClass(jQuery)は動作していますが、.className + =は使用できません。
var burger = document.getElementsByClassName('l-burger');
var html = document.querySelectorAll('html');
$(burger).click(function(){
$(html).className += ' menu-opening'; // not working
setTimeout(function(){
$(html).addClass('menu-open');
$(html).removeClass('menu-opening');
}, 300);
});
*は、あなたが(jQueryの* "バニラはJavaScript" *で)直接DOMを使用して意味* 1 "イムはjavascriptのバニラでそれを書き換えしようとします"。 2.なぜあなたはまだjQueryを使用していますか? '$(html)'はjQueryを呼び出してjQueryオブジェクトを取得しています。 –
** 1。**あなたはjQueryを置き換えると言いましたが、あなたは '$(html)'を使っています。 ** 2。**ドキュメントごとにただ一つの ''要素があるべきです。 'querySelectorAll'を使う必要はなく、代わりに' document.documentElement'を使います。 ** class3.example( 'someClassName') ' – haim770
...' className + = "menu-opening"も動作しますが、あなたはnativeListへの参照を取得した方がよいでしょう。あなたは 'classList'を使いたくありません。最近の 'classList'のサポートはとても良いです。 –