86
A
回答
80
如果您在詢問有關情況,this
代表HTML DOM元素。
所以它會是被點擊的<a>
元素。
2
this
參照onclick
方法所屬的對象。因此func
this
內部將是a
元素的DOM節點,並且this.innerText
將是here
。
26
2
調用函數時,單詞「這個」是參考到調用該函數的對象。
在您的示例中,它是對anchor元素的引用。在另一端,函數調用然後通過傳遞的參數訪問元素的成員變量。
17
事件處理程序屬性(如onclick)的值應該只是JavaScript,沒有任何「javascript:」前綴。 JavaScript的:僞協議是在URL中使用,例如:
<a href="javascript:func(this)">here</a>
你應該儘管使用onclick="func(this)"
形式優先於這一點。另請注意,在我上面使用javascript:pseudo-protocol「this」的示例中,將引用窗口對象而不是<a>
元素。
5
在JavaScript中this
引用包含該操作的元素。舉例來說,如果你有一個函數調用hide()
:
function hide(element){
element.style.display = 'none';
}
調用hide
與this
將隱藏的元素。它僅返回單擊的元素,即使它與DOM中的其他元素相似。
例如,您可能有this
在下面的HTML中單擊一個數字將只隱藏點擊的項目符號點。
<ul>
<li class="bullet" onclick="hide(this);">1</li>
<li class="bullet" onclick="hide(this);">2</li>
<li class="bullet" onclick="hide(this);">3</li>
<li class="bullet" onclick="hide(this);">4</li>
</ul>
2
這裏(this)是一個包含dom元素的所有特徵/屬性的對象。 你可以看到
console.log(this);
這將顯示所有的屬性與層次的DOM元素的屬性。 你可以通過這個操縱dom元素。
下面的鏈接還描述: -
1
關鍵字這在的addEventListener事件
function getValue(o) {
alert(o.innerHTML);
}
function hide(current) {
current.setAttribute("style", "display: none");
}
var bullet = document.querySelectorAll(".bullet");
for (var x in bullet) {
bullet[x].onclick = function() {
hide(this);
};
};
/* Using dynamic DOM Event */
document.querySelector("#li").addEventListener("click", function() {
getValue(this); /* this = document.querySelector("#li") Object */
});
li {
cursor: pointer;
}
<ul>
<li onclick="getValue(this);">A</li>
<li id="li" >B</li>
<hr />
<li class="bullet" >1</li>
<li class="bullet" >2</li>
<li class="bullet" >3</li>
<li class="bullet" >4</li>
</ul>
相關問題
- 1. JavaScript中的'this'是什麼引用?
- 2. JavaScript:什麼是全局對象,「this」指的是什麼?
- 3. 'this'的價值是什麼?
- 4. `this`指的是什麼?
- 5. IE的attachEvent中的'this'是什麼
- 6. 「this」是指什麼
- 7. Backbone模型中的`this`是什麼?
- 8. `bind(this)`是什麼意思?
- 9. Android中的setOnClickListenner中的「this」是什麼
- 10. 「$ this」的用途是什麼?
- 11. 'this'的價值是什麼?
- 12. <form action =「javascript:alert(this);」>什麼是「this」?
- 13. 如何在JavaScript中閱讀什麼類型的存儲是'this'?
- 14. C#中的「this」是什麼意思?
- 15. 角裝飾者中的'this'是什麼?
- 16. Java中this()的含義是什麼
- 17. $,this和$(this)在JavaScript基礎知識中有什麼區別?
- 18. 「this」,「$ this」和「$(this)」之間的區別是什麼?
- 19. 這是什麼意思:&** this;
- 20. 這是什麼onclick(onclick =「this.name ='abc'」)是什麼意思?
- 21. 在Javascript/Typescript中,「let _self = this」是什麼意思?
- 22. JavaScript:什麼是PHP的「$ this - > $ somefunc()」的等價物?
- 23. 編譯後的jst模板中的「this」是什麼
- 24. this.someFunction.call的用途是什麼(this,param);
- 25. 什麼是Eval(「this」)的等效值
- 26. $ this關鍵字的含義是什麼?
- 27. 「this」模塊的源代碼是什麼?
- 28. C++類改變什麼「* this」指的是
- 29. 用於C#語言的'this'是什麼?
- 30. `this.prototype.constructor = this;`的用途是什麼?
@ JMCF125他設法是有用的呢。我搜索瞭如何獲取onclick事件中點擊的元素,並在這裏結束了,我找到了答案。 – 2016-03-31 19:49:16
javascript:做什麼?爲什麼不是這樣的 `here` – J3STER 2017-07-11 23:33:32
@ J3STER onclick中的「javascript:」前綴不正確。您可以在[Tim Down的答案]下找到解釋(https://stackoverflow.com/a/926170/146513)。 – 2017-11-10 23:13:07