Javascript/jQuery:为什么event.target使用<a>标记console.log,al
Javascript/jQuery: Why different result for event.target using <a> tag Vs. other Elements in console.log, alert() with $(this) in mind
使用event.log处理DOM时,似乎有一些值得理解的地方。
比较firebug中的alert和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))
})
})
点击潜水器时:
两者的console.log
均按预期工作
但是alert
显示出不同的输出:
对于DIV:
1对象HTMLDivElement
2对象对象//using jQuery's $(this)
然而,当点击<a>
标签时,它会产生:
1网址或
href
属性的值2对象对象
//using jQuery's $(this)
为什么会出现这种情况?为什么<a>
的警报不将此标记打印为HTMLElement?
请在此处进行自我测试:http://jsfiddle.net/hWR53/1/
所有对象,包括元素,都有一个toString
函数,该toString
函数在对象上调用以构建警报中显示的内容。
对于大多数对象,此函数返回"[object Object]"
,但a
元素的实例会覆盖它以返回元素的href
属性的值。
相关文章:
- 如何更改<svg>标记为<img>用js标记
- 使用<ahref>使用谷歌脚本在谷歌表单GUI中标记
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 在<代码>使用JSX标记
- 将jQuery从1.8更新到1.11<a>标记未附加
- 给出<选项>标记一个类?API调用不工作
- 如何将脚本添加到<头部>标记
- 我如何访问传递给<脚本>标记
- 是否在Script Src标记中包含Script<脚本>(JavaScript等)
- 如何从<img>标记
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 如何将类添加到<tr>标记
- 有没有一种方法可以使用<脚本>标记为您可能使用的<%%>标记
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 如何添加html<br>标记转换为javascript
- <TR>标记未订阅事件
- 意外的标记>
- 地图上的多个标记->如何检测单击了哪个标记