JavaScript onclick中的“this”是什么?
<a onclick="javascript:func(this)" >here</a>
这在剧本中意味着什么?
在你问的情况下, this
代表了HTML DOM元素。
所以这将是被点击的<a>
元素。
它指的是onclick
属性所属的DOM中的元素:
<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>
(这个例子使用jQuery 。)
事件处理程序属性(如onclick)的值应该是JavaScript,不带任何“javascript:”前缀。 javascript:伪协议用在URL中,例如:
<a href="javascript:func(this)">here</a>
你应该优先使用onclick="func(this)"
forms。 另外请注意,在我上面的例子中,使用javascript:伪协议“this”将引用窗口对象而不是<a>
元素。
在JavaScript中, this
是指包含操作的元素。 例如,如果您有一个名为hide()
的函数:
function hide(element){ element.style.display = 'none'; }
用this
来隐藏会隐藏元素。 它只返回被点击的元素,即使它与DOM中的其他元素相似。
例如,您可能会在下面的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>
this
反映了onclick
方法所属的对象。 所以里面func
this
将是a
元素的DOM节点, this.innerText
将在here
。
当调用一个函数时,单词“this”是对调用该函数的对象的引用。
在你的例子中,它是对anchor元素的引用。 在另一端,函数调用通过传递的参数访问元素的成员variables。
这里(this)是一个包含dom元素的所有特性/属性的对象。 你可以看到
console.log(this);
这将显示具有层次结构的dom元素的所有属性属性。 你可以通过这个操纵dom元素。
还要描述下面的链接: –