为什么对象“this”在第一种情况下起作用而在另一种情况下不起作用,为什么它“未定义”

时间:2017-02-21 07:53:30

标签: javascript html5

第一种情况:

<span id="username" onclick="alert(this.innerHTML);">[Василий]</span>

点击文字“[Василий]”后,我在对话框窗口“[Василий]”中看到文字。好。但在第二种情况下,当我编写代码时,我看到“未定义”,为什么?

<script type="text/javascript" charset="utf-8">
        function func() {
        alert(this.innerHTML);
    }
</script>
     <span id="username" onclick="func();">[Василий]</span>

1 个答案:

答案 0 :(得分:0)

基本上你没有引用该对象,你点击了。您可以将此作为参数并获取函数中的值。

&#13;
&#13;
function func(t) {
    alert(t.innerHTML);
}
&#13;
<span id="username" onclick="func(this);">[Василий]</span>
&#13;
&#13;
&#13;