如何在jquery中访问子元素的类?

时间:2015-08-24 07:05:08

标签: jquery

当用户点击标题时,我想将子元素的类更改为“fa fa-minus-circle”

<div class="case-study-header">
<i class="fa fa-plus-circle"></i> Case Study Header </div>

代码

 $('.case-study-header').click(function(){
           var state  = $('.case-study-header').children().attr('class');
           state.replace("fa fa-plus-circle", "fa fa-minus-circle");
            });  

5 个答案:

答案 0 :(得分:3)

 $('.case-study-header').click(function(){
     $('.case-study-header').children().attr('class', 'fa fa-minus-circle');         
  });  

再次设置,它会自动覆盖。

答案 1 :(得分:3)

你有几个问题:

  1. repalce更改为replace
  2. 将整个逻辑更改为更简单的东西。
  3. 我想你可能需要这个:

    $('.case-study-header').click(function(){
      var state  = $('.case-study-header').children().attr('class');
      state.replace("fa fa-plus-circle", "fa fa-minus-circle");
    });
    

    而不是上述内容,请使用:

    $('.case-study-header').click(function () {
        $('.case-study-header').children().attr('class', 'fa fa-minus-circle');         
    });
    

答案 2 :(得分:1)

您可以使用.toggleClass()

&#13;
&#13;
$('.case-study-header').click(function() {
  $(this).children('i').toggleClass('fa-plus-circle fa-minus-circle');
});
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="case-study-header">
  <i class="fa fa-plus-circle"></i> Case Study Header
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

您可以使用toggleClass方法,如下所示:

$('.case-study-header').click(function(){
       var state  = $('.case-study-header').children().toggleClass('class', 'fa-plus-circle fa-minus-circle');         
        });  

答案 4 :(得分:1)

试试这个:选择所有拥有fa-plus-circlefa-minus-circle并切换课程的孩子。

$('.case-study-header').click(function(){
   var $children = $('.case-study-header').children('.fa-plus-circle, .fa-minus-circle');
   $children.toggleClass('class', 'fa-plus-circle fa-minus-circle');         
});