过滤掉具有CSS样式的JQuery元素:none

Abi*_*ash 7 javascript jquery

选择器产生了一组元素.在这组元素中,我有1或2个元素,CSS属性显示:none.我必须删除这些元素并获取已显示的元素.如何使用JQuery完成?

Bar*_*mar 9

$("selector").is(":visible")
Run Code Online (Sandbox Code Playgroud)

您还可以过滤掉原始选择器中的隐藏元素:

$("selector:visible")
Run Code Online (Sandbox Code Playgroud)


Aus*_*rst 7

你可以用.filter().

var displayed = $('mySelector').filter(function() {
    var element = $(this);

    if(element.css('display') == 'none') {
        element.remove();
        return false;
    }

    return true;
});
Run Code Online (Sandbox Code Playgroud)

这将返回所有元素从您选择,多数民众赞成属性display不是 none,并删除那些谁的是.


Adi*_*dil 5

您可以使用过滤器()

var listWithoutDisplayNone = elementList.filter(function(){
      if($(this).css('display') != 'none')
           return $(this);
});
Run Code Online (Sandbox Code Playgroud)