jQuery在具有某些其他类时将类添加到元素

时间:2016-10-14 15:59:55

标签: jquery

我试图找到页面上的所有下拉菜单,如果他们有班级" .active" (或" .active.visible"),然后添加另一个类" .input - filled"

这应该很简单,但我还没有能够使它工作。

我试过了:

$('.ui.multiple.search.selection.dropdown.active.visible).addClass('input-filled')

我认为这将是一个很好的优雅解决方案,但它没有用,所以我尝试了:

$('.dropdown').each(function(){
    if($(this).hasClass('visible')){
        $(this).addClass('input--filled'); 
    };
});

以下是我目前尝试的一些CodePens:

http://codepen.io/anon/pen/KgBQxR?editors=1111

http://codepen.io/anon/pen/mAjXpP?editors=1111

1 个答案:

答案 0 :(得分:-2)

<强>更新 我没有密切关注你的问题。我检查语义ui Api并最终得到以下方法。希望对你有帮助。顺便说一句,如果你的页面上有很多这些,如果它们的行为不同,你可能想要使用ID选择器。

$('.ui.dropdown').dropdown({
    forceSelection: false,
    onShow: function() {
      var $dropDown = $(this);
      $dropDown.addClass("input-filled")
    },
    onHide: function() {
      var $dropDown = $(this);
      $dropDown.removeClass("input-filled")
    }
});

这是实施此示例的CodePen