博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中的this
阅读量:7078 次
发布时间:2019-06-28

本文共 864 字,大约阅读时间需要 2 分钟。

一网友问了个问题

<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="#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,当然找不到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日

阿良

转载地址:http://bhpml.baihongyu.com/

你可能感兴趣的文章
设计原则—依赖倒转原则
查看>>
基于面向对象的图片轮播(js原生代码)
查看>>
装甲车团队介绍(别急,在路上了)
查看>>
[摘录]第一部分 掌舵领航(4)
查看>>
LeetCode 392. Is Subsequence
查看>>
敏捷测试的一个完整流程
查看>>
ajax
查看>>
启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法
查看>>
js原型链继承
查看>>
让IE10等支持classList2.0(转)
查看>>
解决 spring mvc 静态资源映射问题
查看>>
javascript数组
查看>>
IE6不支持最小高度min-height时
查看>>
1007acm 感想
查看>>
闭包的利理解
查看>>
网站平台架构演变史(四) - 水平拆分的查询
查看>>
cookie和session机制
查看>>
hausaufgabe--python 31 - Pickle
查看>>
流程控制--while
查看>>
max() min()
查看>>