jquery添加和删除类?

时间:2010-06-18 02:18:56

标签: jquery

我需要一个脚本,在div的一个类的末尾添加一个2,并在点击带有帖子ID的链接时使用id .sideboxtopleft。

<script>
    $(".posts").click(function () {
      if ($('.sideboxtopleft').is('#sideboxtopleft2')) {
          $('.sideboxtopleft').removeClass('2');
      }
      else{
          $('.sideboxtopleft').addClass('2');
      }
    });
</script>

<div id="sideboxtopleft" class="sideboxtopleft">
<a href="#post" id="posts"><h3>RECENT POSTS <div id="arrow" class="arrow"></div></h3></a>
</div>
<div id="sideboxtopright" class="sideboxtopright">
<a href="#comments" id="comments"><h3>RECENT COMMENTS <div id="arrow" class="arrow2"></div></h3></a>
</div>

然而,它似乎不想正常工作。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

你可以使用.toggleClass()这样做:

$(".posts").click(function () {
  $('.sideboxtopleft, .sideboxtopleft2').toggleClass('sideboxtopleft sideboxtopleft2');
});

All of the class methods添加,删除或切换整个类,它们不会追加/删除类名的一部分。虽然上面的代码有效,但它不是最理想的解决方案,CSS中的多类选择器可能是更好的方法,如下所示:

.sideboxtopleft { color: black; }
.sideboxtopleft.on { color: red; }

然后您可以切换on类,如下所示:

$(".posts").click(function () {
  $('.sideboxtopleft').toggleClass('on');
});

答案 1 :(得分:0)

为什么不在标记中添加新类?

<div id='foo' class='sideboxtopleft two'>