关于jquery function传值问题

cg20 2014-04-30 05:39:01

$(document).ready(function(){
var tr=document.getElementsByClassName("divavatar");
for (var i=1;i<=tr.length;i++){
$("#div"+i).mouseover(function(i){
alert(i);
});

有3个div,ID分别为div1,div2,div3,这三个的class都为"divavatar"
有3个img,分别为img1,img2,img3
我想给3个div添加mouseover事件,如上代码,
我要怎么才能在这里面
$("#divavatar"+i).mouseover(function(i){
alert(i);
});
把i给传进去,试了好久,一直没成功,求帮助,谢谢。
...全文
333 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yutian_Tody 2014-05-01
  • 打赏
  • 举报
回复
for (var i=1;i<=tr.length;i++){ $("#div"+i).mouseover(function(i){ alert(i); }); } i的作用域已经包含在mouseover里面了,在事件里面是可以直接使用,并不需要传值。 ...mouseover(function(i){ 这个i在这里是Event对象,并不是for中的i了 }
青青木屋 2014-04-30
  • 打赏
  • 举报
回复
引用 3 楼 cg20 的回复:
[quote=引用 2 楼 greenqingqingws 的回复:] 你可以通过字符串截取的方法来获得i, $("#divavatar"+i).mouseover(function(e){ var that=$(this).attr('id'); var i=that.substr(that.length-2,1); alert(i); });
只能这样了吗?你的方法是可行的,谢谢。我迷惑在里面那个function不能直接传前面的值进去?[/quote] mouseover 这个方法里面的参数,不是你想传什么就传什么的,你要参照 API文档
  • 打赏
  • 举报
回复
我一直这么用

$("div[id^='div']").mouseover(
    function()
    {
           var id = $(this).attr("id").replace(/div/,"");
     }
);
似梦飞花 2014-04-30
  • 打赏
  • 举报
回复
$(document).ready(function(){ var tr=document.getElementsByClassName("divavatar"); for (var i=1;i<=tr.length;i++){ (function(s){ $("#div"+i).mouseover(function(){ alert(s); }); })(i) 传入的参数应该是event对象
cg20 2014-04-30
  • 打赏
  • 举报
回复
引用 2 楼 greenqingqingws 的回复:
你可以通过字符串截取的方法来获得i, $("#divavatar"+i).mouseover(function(e){ var that=$(this).attr('id'); var i=that.substr(that.length-2,1); alert(i); });
只能这样了吗?你的方法是可行的,谢谢。我迷惑在里面那个function不能直接传前面的值进去?
青青木屋 2014-04-30
  • 打赏
  • 举报
回复
你可以通过字符串截取的方法来获得i, $("#divavatar"+i).mouseover(function(e){ var that=$(this).attr('id'); var i=that.substr(that.length-2,1); alert(i); });
cg20 2014-04-30
  • 打赏
  • 举报
回复
上面那里有点错误,是这样的 我要怎么才能在这里面 $("#div"+i).mouseover(function(i){ alert(i); }); 把i给传进去,试了好久,一直没成功,求帮助,谢谢。

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧