我有一個非常簡單的畫布菜單在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);
});
* 「我現在試圖重寫它在香草的javascript」 * 1。你的意思是直接使用DOM(jQuery的*是* 「香草的JavaScript」)。 2.那你爲什麼還在使用jQuery? '$(html)'調用jQuery並獲取一個jQuery對象。 –
** 1。**你提到你要替換jQuery,但是你使用'$(html)'。 ** 2。**每個文檔應該只有一個''元素,不需要使用'querySelectorAll',而是使用'document.documentElement'。 ** 3。**一旦你得到了對native元素的引用,你最好使用'classList.add('someClassName')' – haim770
......儘管'className + =「菜單打開」你不想使用'classList'。但現在'classList'的支持非常好。 –