2009-10-23 73 views
12

如何根据其CSS选择一个元素?jquery选择显示全部br:none;

我需要选择一个内联样式显示br:none。这与br不一样:隐藏的,因为它选择以其他方式隐藏的元素,而我不想那样做。

谢谢。

+0

难道'BR:hidden'够吗? http://api.jquery.com/hidden-selector/ – Stefan 2013-08-18 08:16:50

回答

32

你可以尝试:

$("br").filter(function() { return $(this).css("display") == "none" }) 
5

使用filter

$("br").filter(function() { 
    return $(this).css("display") == "none"; 
}); 
+0

不知道为什么这会得到upvoted,因为它不会工作!它需要是CSS属性,而不是HTML元素的属性 – 2009-10-26 14:14:29

+0

它应该是'css()'而不是'attr()'。 'display'是CSS而非HTML属性 – mauris 2012-11-18 01:43:49

0

使用jQuery.map:

var brs = $('br'); 
jQuery.map(brs, function(elem, i){ 
    if(elem.css('display') == 'none') 
     return elem; 
    return null; 
}); 
+0

其实过滤器可能更好。 – 2009-10-23 21:36:53

0

怎么是这样的:

$(document).ready(function() { 
    $("div:hidden").each(function() { 
    if ($(this).css("display") == "none") { 
     // do something 
    } 
    }); 
}); 
0
$("br").filter(function() { 
    return $(this).css("display") == "none"; 
}) 

就像一个魅力。

11

另一种方式做,这是使用jQuery的属性选择:

$("br[style$='display: none;']")