8

选择器为我提供了一组元素。在这组元素中,我有 1 或 2 个具有 CSS 属性 display:none 的元素。我必须删除这些元素并获取具有显示的元素。如何使用 JQuery 做到这一点?

4

3 回答 3

9

您可以使用.filter().

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

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

    return true;
});

这将从您的选择器中返回所有元素 thats 属性displaynot none并删除那些是。

于 2013-01-19T06:14:55.720 回答
9
$("selector").is(":visible")

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

$("selector:visible")
于 2013-01-19T06:16:30.570 回答
4

您可以使用过滤器()

var listWithoutDisplayNone = elementList.filter(function(){
      if($(this).css('display') != 'none')
           return $(this);
});
于 2013-01-19T06:14:04.237 回答