2009-10-23 47 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;']")