2009-07-27 14 views
35

Jak mogę sprawdzić wartość wyświetlania elementustyl JQuery wartość wskazania

<tr id="pDetails" style="display:none"> 

daje mi 'display:none'

Chcę napisać skrypt jquery, że wróci mi tylko wartość wyświetlacza, który jest "none"

Czy to możliwe?

Odpowiedz

62

Wystarczy zadzwonić css z jednym argumentem

$('#idDetails').css('display'); 

Jeśli rozumiem twoje pytanie. W przeciwnym razie chcesz uzyskać odpowiedź klona.

+1

Myślę, że to odpowiedź może być zła. Przepraszam, jeśli się mylę, ale myślę, że '.css()' zwraca styl obliczeniowy, który może zawierać odziedziczone style. Myślę, że OP chce uzyskać styl inline. Trudno to zrobić! – JotaBe

0

To zwróci to, o co prosiłeś, ale nie poleciłbym używania css w ten sposób. Użyj zewnętrznego CSS zamiast wbudowanego css.

$("tr[id='pDetails']").attr("style").split(':')[1]; 
+3

To jest złe, ponieważ nie generalizuje się, gdy atrybut stylu ma więcej niż tylko wyświetlanie: blah (cokolwiek, jak szerokość: 100, zmieszałoby się w split (":") [1]) –

16

Cóż, z jednej strony swoją epression można uprościć:

$("#pDetails").attr("style") 

ponieważ nie powinno być tylko jeden element dla danego identyfikatora i selektor ID będzie znacznie szybciej niż identyfikator atrybutu selektor, którego używasz.

Jeśli chcesz po prostu zwrócić wartość wyświetlacza lub coś, stosowanie css():

$("#pDetails").css("display") 

Jeśli chcesz, aby szukać elementów, które mają żadnego wyświetlacza, to dużo trudniej zrobić w sposób wiarygodny. To jest szorstka przykład, że nie będzie w 100%:

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

ale jeśli po prostu chcesz znaleźć rzeczy, które są ukryte, użyj tego:

$(":hidden") 
Powiązane problemy