在使用 event.log 处理 DOM 时,似乎有一些值得理解的东西。
比较警报中的结果和 firebug 中的 console.log。
我有这个代码 HTML:
<div>Click Me < Div ></div>
<a href="#">Click Me < a ></a>
和JS:
$(function(){
$('div').click(function(e){
console.log(e.target);
console.log($(this));
alert(e.target)
alert($(this))
})
$('a').click(function(e){
e.preventDefault();
console.log(e.target);
console.log($(this));
alert(e.target)
alert($(this))
})
})
当 Div 或被点击时:
这console.log
都按预期工作
但是alert
s 出现不同的输出:
对于 DIV:
1 objectHTMLDivElement
2 object 对象//using jQuery's $(this)
但是,当<a>
标签被点击时,它会产生:
1 网址或
href
属性值2 对象对象
//using jQuery's $(this)
为什么会这样?为什么不<a>
将此标签打印为 HTMLElement 的警报?