1

我认为 element.getAttribute('onclick') 返回任何 element.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?

4

2 回答 2

2
.onclick

返回绑定到点击事件的函数。

.getAttribute('onclick')

返回属性的字符串值。

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

无论如何,两者都不会返回相同的东西。第一个返回 a function,第二个返回 a string

于 2013-09-07T08:13:05.150 回答
1

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

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

基本用法onclick

as[i].onclick=function() {

   console.log('print when clicked');

};
于 2013-09-07T08:06:11.893 回答