【问题标题】:How to remove class Conditionally?如何有条件地删除类?
【发布时间】:2010-05-13 18:35:23
【问题描述】:
$("li").hoverIntent({
                sensitivity: 3, 
                interval: 200, 
                over: addOver, 
                timeout: 500, 
                out: removeOver
            });
        function addOver(){ $(this).addClass('over').children('a:first').addClass('active');}
        function removeOver(){ $(this).removeClass('over').children('a:first').removeClass('active');}
        alert ('version 2 menu');
});

在鼠标移出时,如果“li > a”类已经没有类,我想删除它。 我想删除孩子的班级。

编辑

如果一个类已经处于活动状态,那么我不想在鼠标移出功能上使用那个“.removeClass('active')”。

我只想运行这个函数function removeOver(){ $(this).removeClass('over')

【问题讨论】:

  • "如果它已经没有类", "我想删除孩子们的类" 什么?
  • @karim 同意 - 如果没有东西,你怎么能删除它?
  • @Nick - 我确定他/她的意思是别的。 @Wazdesign - 你能改写你的问题吗?你的意思是如果这个li 没有一个类然后删除它的a 的类?

标签: javascript jquery html


【解决方案1】:

我没有真正明白你的问题,但你尝试过 hasClass 方法吗?

<ul>
    <li><a href="#" class="class1"><span>test</span></a></li>
    <li><a href="#"><span class="class2">test</span></a></li>
    <li><a href="#"><span>test</span></a></li>
</ul>
<script>
    $('li > a').mouseout(function() {
        ($(this).hasClass('class1')) ? $(this).removeClass('class1'):$(this).children().removeClass('class2');
    });
</script>

【讨论】:

    【解决方案2】:

    不确定你的意思,但如果你的意思是我的想法。

    $('li').mouseout(function () {
        $(this).find('> a').removeClass('over');
    });
    

    ..弗雷德里克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-26
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      相关资源
      最近更新 更多