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