$(this)在js函数中无效,茫然了,求高手支招

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$(this)在js函数中无效,茫然了,求高手支招相关的知识,希望对你有一定的参考价值。

<script src="js/jquery-1.8.0.min.js"></script>

<script>
function xxxx(e)
var mmm=$(this);//------alert(mmm)提示object,但是find(img)就提示undefind。如果使用$("a").click(function())的话就能实现效果。

$(mmm).find("img").attr("src","img/about.jpg")

</script>
<h3><a href="#" onclick="xxxx()">点击回放<img src="img/18.gif" width="18" height="18" /></a></h3>

xxxx()在被调用时this是指向window的,如果要想指向被点击的元素,一般是将this作为参数传入,例如:

<a href="#" onclick="xxxx(this)">点击回放<img src="img/18.gif" width="18" height="18" /></a>

function xxxx(e)
var mmm=$(e);//这里就可以得到被点击的元素了
$(mmm).find("img").attr("src","img/about.jpg")
参考技术A <script src="js/jquery-1.8.0.min.js"></script>

<script>
function xxxx(e)
var mmm=$(e);//------alert(mmm)提示object,但是find(img)就提示undefind。如果使用$("a").click(function())的话就能实现效果。

mmm.find("img").attr("src","img/about.jpg")

</script>
<h3><a href="#" onclick="xxxx(this)">点击回放<img src="img/18.gif" width="18" height="18" /></a></h3>

你要得到的对象是被点击的a标签,但是你a标签是调用一个js函数,而js函数内的this是表示当前函数本身,那么,当前函数本身怎么能找到你的图片标签什么的呢?
例外,你的代码也可以这样写
<script src="js/jquery-1.8.0.min.js"></script>

<script>
$(function()
$('h3 a').click(function()
$(this).find("img").attr("src","img/about.jpg") ;
return false;
)
)
</script>
<h3><a href="./">点击回放<img src="img/18.gif" width="18" height="18" /></a></h3>
参考技术B $(this) 要在
$("selector").click(function()
var $this=$(this);
); 这种情况下写
html改为:<h3><a href="#" onclick="xxxx(this)">点击回放<img src="img/18.gif" width="18" height="18" /></a></h3>

js:
function xxxx(e)
var mmm=$(e);
.........
参考技术C 对的, 有两种方法解决。
1. 如 belt217 们学说的, 你要在onclick="xxxx(this)" 这里加个this
2. function xxxx(e)
var e = e || window.event;
var tag = e.target || e.srcElement;
var mmm = $(tag);

以上是关于$(this)在js函数中无效,茫然了,求高手支招的主要内容,如果未能解决你的问题,请参考以下文章

带滚动条的div如何实现内容滑动,新手不懂,求高手支招

jxl导出excel时报错,求高手支招,在线等

java,界面设计(请高手支招)

C# List<long> 如何转换成 List<string> ?(求高手支招)

jsp项目出现错误,求高手支招:Unable to initialize Struts ActionServlet

使用grunt压缩js文件执行grunt命令报这个是啥,请高手支招。。。