为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

www说 2019-02-06 14:07:33
<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>
查看完整描述

4 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超8个赞

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")
}

查看完整回答
反对 回复 2019-03-25
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

<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>



查看完整回答
反对 回复 2019-03-25
?
青春有我

TA贡献1784条经验 获得超8个赞

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

查看完整回答
反对 回复 2019-03-25
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

$(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);
.........
}


查看完整回答
反对 回复 2019-03-25
  • 4 回答
  • 0 关注
  • 701 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号