JavaScript中的this

本文探讨了JavaScript中this关键字的使用及其在不同上下文中的指向问题。通过具体实例,如事件处理函数中的this指向,解释了如何正确使用this来获取DOM元素。同时,对比了不同写法对于事件触发的影响。

JavaScript中的this


一网友问了个问题

<tr><td><a href="javascript:find(this)">点击</a></td></tr>
找td怎么找?
function find(obj){
   alert($(obj).parent());
}
这样不行呀

群空间测试之后发现是可以的:

$('a:contains(关于腾讯公司整治低俗内容的公告)') .parent().parent() .html()
' <div><a href="http://qun.qq.com/air/#announce" target="_blank">关于腾讯公司整治低俗内容的公告</a></div> <div>Copyright © 1998 - 2011 Tencent. All Rights Reserved</div>
<div>腾讯公司 版权所有</div> '

仔细观察他的代码,发现处理事件是写在href中的,通过下面的代码可以知道

<a href="javascript:alert('this === window:' + (this === window))">this === window</a>
<a href="javascript:;" onclick="alert('this.tagName:' + (this.tagName));return false;">tagName</a>

this === window tagName

这时候的this是window,当然找不到parent啦。

最后有网友说,像这样的代码:

<a href="javascript:void 0;" onclick="editRole('${rls.roleFix}',this)">编辑</a>

改成↓

<a href="javascript:;" onclick="editRole('${rls.roleFix}',this)">编辑</a>

理由是:这样写比void(0)好,void(0)后onclick事件不启作用的

这说法不知对不对,有待验证

不积跬步无以至千里

不积小流无以成江海

2011年5月18日

阿良

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值