2009-10-23 9 views
12

CSSに基づいて要素を選択するにはどうすればよいですか?jquery display with br:none;

インラインスタイルの表示付きbrを選択する必要があります。これは、br:hiddenと同じではありません。これは、他の方法で隠されている要素を選択するので、私は望みません。

ありがとうございました。

+0

は 'BRはないでしょう。十分hidden'? http://api.jquery.com/hidden-selector/ – Stefan

答えて

32

あなたは試みることができる:

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

filterを使用します。

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

なぜこれがうまくいかないのか分かりません! HTML要素の属性ではなく、CSS属性である必要があります。 –

+0

'attr()'の代わりに 'css()'にする必要があります。 'display'はHTML属性ではないCSSです – mauris

0

使用jQuery.map:

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

実際にはフィルタがおそらく良いでしょう。 –

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;']")