2015-03-03 55 views
0
<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元素应该从活动类中删除。如果我有任何你可以提到的语法错误,但你也给我一些逻辑实现我的查询。在此先感谢帮助查找对象的jQuery删除类当前的对象,但不删除其他活动对象

+0

需要查看更多代码才能知道用户正在选择什么。我们看不到你如何调用这个函数。也不知道为什么这么多参数在功能上,唯一使用的似乎是'obj' – charlietfl 2015-03-03 01:31:57

+0

现在你可以查看我的整个代码。 @charlietfl – 2015-03-03 01:35:01

+1

我不太清楚你现在在做什么,但我认为你想要做的是:'$('。tovar_color_select a')。removeClass(“active”); $(obj).addClass('active');'删除活动类的所有实例并将其应用于当前单击的对象。 – mkaatman 2015-03-03 01:38:41

回答

1

下面是一个简化的例子: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'); 
}); 
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元素或对象的活动类。