查找对象jquery删除当前对象的类但是不要删除其他活动对象

时间:2015-03-03 01:28:35

标签: javascript php jquery

    <div class="tovar_color_select">
                    <p>Select color</p>
                     <?php $hn = new product();
                      $get_color = $hn->get_color_id_nullval($gg['id_product']);
                      while($fetch_color = mysql_fetch_array($get_color)){
                         ?>
                     <a class="color"  title="<?=$fetch_color[1]?>" 
onClick="chkcolor(this , <?=$gg['id_product']?> , <?=$fetch_color[0]?>)" 


style="background-color:<?=$fetch_color[2]?>" ></a>
                    <?php } ?>
                </div>
    function chkcolor(obj,p_id,clr_id){

            if($(obj).hasClass("active") )
            {
                $(obj).removeClass("active");
                $('.tovar_color_select a').removeClass("active");
            }


            else {

                $(obj).addClass('active');
            }

            }

仔细聆听我的查询。我已经成功获得了活动类,并且还删除了当前对象的活动类,但我需要保持活动状态,其他选择DOM元素由用户选择。目前我的代码从所有DOM元素中删除活动类。我只想要保持选择类活动,其他DOM元素应该从活动类中删除。如果我有任何语法错误你可以提到但你也给了我一些逻辑实现我的查询。在此先感谢您的帮助

2 个答案:

答案 0 :(得分:2)

这是一个简单的例子:http://jsfiddle.net/a78xdey7/

HTML:

<ul class="listOfStuff">
    <li class="active">test</li>
    <li >test</li>
    <li >test</li>
    <li >test</li>
</ul>

CSS:

.active{
    color:red;
}

使用Javascript:

$('li', $('.listOfStuff')).on('click', function(){
      $('.active').removeClass('active');
      $(this).addClass('active');
});

答案 1 :(得分:0)

function chkcolor(obj,p_id,clr_id){

        if($('.tovar_color_select a').hasClass('active'))
        {

            $('.tovar_color_select a').removeClass("active");
            $(obj).addClass('active');
        }


        else {

            $(obj).addClass('active');
        }

        }

现在我刚刚改变了一个条件我检查所有具有活动类的对象或DOM元素然后我只是删除了它们的活动类并将活动类添加到我当前单击的DOM元素或对象。