繁体   English   中英

jQuery addClass停止工作

[英]jQuery addClass stopped working

由于某种原因,jQuery.addClass已停止工作。 我不知道为什么。 其他东西虽然有效。

  // Change row background color on click
  jQuery('#rowList tr').live("click", function() {
    alert(jQuery(this).attr('title')); // Just here for testing. This works
    alert(jQuery(this).css('border','solid 1px red')); // Just here for testing. This works

    jQuery(this).closest("tr").siblings().removeClass("selected"); 
    jQuery(this).addClass("selected");  // NOT working
  });

有什么原因不起作用? 这是我的HTML:

<table id="rowList">
  <tbody>
    <tr title="My title 1" class="imageItem odd"> <td>some stuff</td></tr>
    <tr title="My title 2" class="imageItem even"><td> some stuff here</td></tr>
  </tbody>
</table>

您在第二个警报中缺少)

alert(jQuery(this).css('border','solid 1px red'));
                                               ^

修复该功能后, 您可以在此处进行测试 .closest("tr") ,由于您使用的是<tr> ,因此不需要.closest("tr")调用,因此可以将其从链中删除,总的来说像这样:

CSS:

.bordered { border: solid 1px red; }

脚本:

jQuery('#rowList tr').live("click", function() {
  alert(jQuery(this).attr('title'));
  jQuery(this).addClass("bordered selected")
              .siblings().removeClass("selected"); 
});​

您可以在这里试一试

因为您编写的方式是.addClass()将类添加到td而不是父tr

除非省略closest('tr')是错字?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM