Jquery切换并添加/删除

时间:2015-03-05 15:39:35

标签: javascript jquery html css

我有两个按钮。

两个按钮都有翻转css颜色更改。

其中一个按钮只链接到另一个页面..但是,单击时需要另一个按钮 A.)显示隐藏的div B.)切换到翻转颜色并保持该颜色。 (但不要改变其他按钮类)

我只想要ID为&#34的按钮;编辑"将类m-button-regular切换为m-button-active而不是其他按钮。我正在使用的JQuery将两个按钮类更改为m-button-active。

这个剧本出了什么问题?

            <a href="#tab1" id="edit" >
            <span class="m-button-small m-button-regular   text-center floatleft clearfix mtm mls" id="sm-tab1">
                <i class="fa fa-gear"></i>
                <p>EDIT</p>
            </span>  
            </a>   
            <a href="#tab1">
            <span class="m-button-small m-button-regular  text-center floatleft clearfix mtm mls" id="sm-tab1">
                <i class="fa fa-plus"></i>
                <p>ADD</p>
            </span>  
            </a>  
<div class="row editcontainer">

</div>


$('.editcontainer').hide();
$(document).ready(function(){
    $('#edit').click(function(){        
        $(".editcontainer").toggle();
        $('.m-button-regular').toggleClass("m-button-active");
    });

});

4 个答案:

答案 0 :(得分:3)

您需要使用.find()来引用其子跨度,然后您可以使用切换。

  

获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

使用

$(this).find('.m-button-regular').toggleClass("m-button-active");

而不是

$('.m-button-regular').toggleClass("m-button-active");

答案 1 :(得分:1)

这是指所有课程:

$('.m-button-regular').toggleClass("m-button-active");

您必须参考按钮

$("#edit").toggleClass("m-button-active");

答案 2 :(得分:1)

这似乎可以做你想要的:

&#13;
&#13;
$('.editcontainer').hide();
$(document).ready(function() {
  $('#edit').click(function() {
    $(".editcontainer").toggle();
    $('#edit').toggleClass("m-button-active");
  });

});
&#13;
.m-button-active {
    color : green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#tab1" id="edit">
  <span class="m-button-small m-button-regular   text-center floatleft clearfix mtm mls" id="sm-tab1">
                <i class="fa fa-gear"></i>
                <p>EDIT</p>
            </span> 
</a>
<a href="#tab1">
  <span class="m-button-small m-button-regular  text-center floatleft clearfix mtm mls" id="sm-tab1">
                <i class="fa fa-plus"></i>
                <p>ADD</p>
            </span> 
</a>
<div class="row editcontainer" style="display: none">Edit container</div>
&#13;
&#13;
&#13;

顺便说一句,您的选择器最初选择了两个按钮。

答案 3 :(得分:1)

你几乎是对的,但对你的代码和宾果游戏稍作改动

$('.editcontainer').hide();
$(document).ready(function(){
    $('#edit').click(function(){        
        $(".editcontainer").toggle();
        $('.m-button-regular',this).toggleClass("m-button-active"); //<--- add a scope, same as $(this).find
    });

});