2009-10-23 21 views
12

Jak wybrać element na podstawie jego css?jquery wybierz wszystkie br z wyświetlaczem: brak;

Należy wybrać br z wbudowanym wyświetlaniem stylu: brak. To nie jest to samo co br: hidden, ponieważ to wybiera elementy, które są ukryte w inny sposób, a ja tego nie chcę.

Dzięki.

+0

Czy nie 'br: hidden' wystarczy? http://api.jquery.com/hidden-selector/ – Stefan

Odpowiedz

32

można spróbować:

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

Korzystanie filter.

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

Nie wiem, dlaczego to się upvoted, ponieważ nie będzie działać! Musi to być atrybut CSS, a nie atrybut w elemencie HTML. –

+0

Powinien to być 'css()' zamiast 'attr()'. 'display' jest atrybutem CSS nie HTML – mauris

0

Zastosowanie jQuery.map:

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

Właściwie filtr jest prawdopodobnie lepszy. –

0

Jak o coś takiego:

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

działa jak czar.

11

Innym sposobem na to byłoby użyć selektor atrybutu jQuery:

$("br[style$='display: none;']") 
Powiązane problemy