[英]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.