element.onclick返回null,而element.getAttribute('onclick')则不返回null

时间:2013-09-07 07:53:54

标签: javascript

我认为element.getAttribute('onclick')返回string.onclick设置为的字符串版本。

var as = document.getElementsByTagName('a');
for(var i=0; i < as.length; i++) {
    // set test to some javascript text
    var test = as[i].getAttribute('onclick');

     // set test to "null"
    var test = String(as[i].onclick);
}

当.getAttribute('onclick')显示值时,为什么“.onclick”符号返回null?

2 个答案:

答案 0 :(得分:2)

.onclick

返回绑定到click事件的函数。

.getAttribute('onclick')

返回属性的字符串值。

在纯HTML中,如果属性的代码无效,则没有定义click事件,第一个将返回null。

在任何情况下,两者都不会返回相同的东西。第一个返回function,第二个返回string

答案 1 :(得分:1)

通过as[i].getAttribute('onclick'),您将获得元素dom中名为“onclick”的属性值。它用于获取任何现有属性,而不是特定于onclick

和函数as[i].onclick用于定义事件,而不是获取任何值。

onclick的基本用法:

as[i].onclick=function() {

   console.log('print when clicked');

};