Jquery添加和删除放在li里面的div的类

时间:2014-03-20 21:55:45

标签: javascript jquery html addclass removeclass

我想添加并删除一个放在里面的div的类,当我点击另一个li ineed删除 来自激活的div的rightshapeactive类

<ul id="servicesleft">
    <li class="left1">              
        <span>Lorem ipsum</span>
        <div id="rightshape" class="t"></div>
    </li>   

    <li class="left1">              
        <span>Lorem ipsum</span>
        <div id="rightshape" class="t"></div>
    </li>   

    <li class="left1">              
        <span>Lorem ipsum</span>
        <div id="rightshape" class="t"></div>
    </li>
</ul>

jQuery(document).ready(function() {
    $('#servicesleft').delegate('li', 'click', function() {
        $(this).find('#rightshape').addClass('rightshapeactive').siblings().removeClass('rightshapeactive');
    });
});

2 个答案:

答案 0 :(得分:1)

这应该有效。在.find('#rightshape')之后,选择是指div,而不是li.end会返回上一个选择。

jQuery(document).ready(function() {
  $('#servicesleft').delegate('li', 'click', function() {
    $(this).find('#rightshape')
      .addClass('rightshapeactive')
      .end()
      .siblings()
      .find('#rightshape')
      .removeClass('rightshapeactive');
  });
});

这可能会更好:

jQuery(document).ready(function() {
  $('#servicesleft').delegate('li', 'click', function() {
    $('.rightshapeactive').removeClass('rightshapeactive');
    $('#rightshape', this).addClass('rightshapeactive');
  });
});

答案 1 :(得分:0)

改为使用“t”类:http://jsfiddle.net/m27ra/

jQuery(document).ready(function() {
    $('#servicesleft').delegate('li', 'click', function() {
        $(this).parent().find('.t').removeClass('rightshapeactive');
        $(this).find('.t').addClass('rightshapeactive');
    });
});