omg*_*omg 108 javascript
<a onclick="javascript:func(this)" >here</a>
Run Code Online (Sandbox Code Playgroud)
this
脚本中有什么意思?
TM.*_*TM. 92
在您询问的情况下,this
表示HTML DOM元素.
所以它将是<a>
被点击的元素.
Ste*_*202 32
它指的是在该元件DOM到的onclick
属性所属:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/javascript">
function func(e) {
$(e).text('there');
}
</script>
<a onclick="func(this)">here</a>
Run Code Online (Sandbox Code Playgroud)
(这个例子使用jQuery.)
Tim*_*own 21
事件处理程序属性(如onclick)的值应该只是JavaScript,没有任何"javascript:"前缀.javascript:伪协议用于URL,例如:
<a href="javascript:func(this)">here</a>
Run Code Online (Sandbox Code Playgroud)
您应该onclick="func(this)"
优先使用该表单.另请注意,在上面的示例中,使用javascript:pseudo-protocol"this"将引用窗口对象而不是<a>
元素.
在JavaScript this
中指的是包含操作的元素.例如,如果您有一个名为的函数hide()
:
function hide(element){
element.style.display = 'none';
}
Run Code Online (Sandbox Code Playgroud)
调用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>
Run Code Online (Sandbox Code Playgroud)
这里 (this) 是一个包含 dom 元素的所有功能/属性的对象。你可以看到
console.log(this);
Run Code Online (Sandbox Code Playgroud)
这将显示具有层次结构的 dom 元素的所有属性。您可以通过此操作 dom 元素。
另请在以下链接中进行描述:-
http://www.quirksmode.org/js/this.html
keyword this in addEventListener event
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 */
});
Run Code Online (Sandbox Code Playgroud)
li {
cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)