这个.id返回了什么?

时间:2011-02-18 12:02:24

标签: javascript

function test(){
alert(this);//alerts oblect
alert(this.id);//alerts undefined

}

<input type="text" onKeyPress="test();" id="text1">

为什么alert(this.id)警告未定义?这是因为 会返回文档对象吗?

谢谢

3 个答案:

答案 0 :(得分:3)

你的代码应该是。

function test(objRef){
  alert(objRef);//alerts oblect
  alert(objRef.id);//alerts undefined
}

<input type="text" onKeyPress="test(this);" id="txtNum" />

编辑:您也可以使用以下代码。

<script type="text/javascript">
        window.onload = function() {
            var txtnum = document.getElementById("txtNum");
            txtnum.onkeypress = function() {
                alert(this);
                alert(this.id);
            };
        };
 </script>

 <input type="text" id="txtNum" />

答案 1 :(得分:2)

this是窗口实例。在浏览器中试用:

javascript:alert(this)

我得到[object Window]

答案 2 :(得分:0)

在全局范围内,上下文(this)是windows,因为window没有未定义的名为“id”的属性。