簡體   English   中英

未定義的DOM元素javascript,而console.log給出了它

[英]Undefined DOM element javascript, while console.log gives it out

我是javascript的新手,自一開始,這個問題就困擾着我。 當我得到DOM元素事件時,行為正常,但是當我嘗試更改任何內容(如類)時,它給我“未定義不是函數”。

我不明白為什么,因為在同一時間console.log發出

<div class="nav-about menu" id="nav-about"></div>

的HTML

<div class="nav-about menu" id="nav-about"></div>

JS

var link_one = document.getElementById("nav-about");

link_one.addEventListener("click", function(){
    console.log(this);
    this.addClass('special');
}, false);

我在任何地方都找不到答案。 是的,addClass的jQuery包含在head標記中。

因為沒有this屬性的addClass屬性,所以它是undefined

您可以在this.classList上添加類。

var link_one = document.getElementById("nav-about");

link_one.addEventListener("click", function(){
    this.classList.add('special');
}, false);

嘗試

$(this).addClass('special');

因為您要使用jquery庫,所以使用jquery庫就像調用函數doSomething(this),而是使用$作為函數名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM