Jquery代码无法正常工作!

时间:2011-03-11 09:08:22

标签: javascript jquery jquery-ui javascript-events

我有以下脚本----

  $("tr.member_profile_comment_row_frame").mouseover(function () {
     $(this.element."img.member_profile_comment_show_delete_button").show();
  });
  $("tr.member_profile_comment_row_frame").mouseout(function () {
     $(this.element."img.member_profile_comment_show_delete_button").hide();
  });

我想要的是表格行中有一个元素,其中 member_profile_comment_show_delete_button 类应该显示并隐藏鼠标悬停和鼠标输出表格行!但是有很多像这样的表行!而且我无法找到一种只显示鼠标指向表格行中的img的方法!

请帮帮我!

提前致谢!

2 个答案:

答案 0 :(得分:1)

您的代码中不需要this.element,只需要选择器;之后的this表示查看此元素。

 $("tr.member_profile_comment_row_frame").mouseover(function () {
     $("img.member_profile_comment_show_delete_button", this).show();
 });
 $("tr.member_profile_comment_row_frame").mouseout(function () {
     $("img.member_profile_comment_show_delete_button", this).hide();
 });

答案 1 :(得分:0)

你应该在这里使用.delegate()help。看起来像:

$('table').delegate('tr', 'mouseenter', function(e) {
    $(this).find('img.member_profile_comment_show_delete_button').show();
}).delegate('tr', 'mouseleave', function(e) {
    $(this).find('img.member_profile_comment_show_delete_button').hide();
});

这样做的好处是,只有一个事件处理程序绑定到所有<tr>节点(到<table>节点)。

您当前的代码也应该起作用(旁边this.element需要通过this替换),但它会明确地将事件处理程序绑定到每个<tr>