2017-01-18 4 views
0

Ich möchte fragen, ob das möglich ist, check-in JQuery, wenn ein Div eine bestimmte Eigenschaft und wenn einen bestimmten Wert haben. So nehmen Sie dieses Beispiel:Wie überprüft man, ob ein div eine bestimmte CSS-Eigenschaft mit einem bestimmten Wert hat?

<div id="foo" style="width: 100%" /> 

ich überprüfen müssen, ob die div foo die CSS-Eigenschaft haben width und wenn diese einen Wert von 100% haben.

Was kann ich tun, um dies zu erreichen?

+0

http://stackoverflow.com/questions/24591327/jquery-check-if-element-has-a-specific-style-property-display – cloned

+0

@ Richard leider diese Frage gibt die berechneten Stile, wenn es um die Breite geht - die Frage wäre mehr ein Duplikat von diesem: http://stackoverflow.com/questions/16126670/return-css-height-with-jquery-not-computed-but-declared – Pete

+0

Wie auch immer - Sie müssen das native js-Objekt verwenden und den Stil verwenden: '$ ('# foo'). Get (0) .style.width' – Pete

Antwort

2

Wenn Sie versuchen, das Element basierend auf dem Inline-Stilattribut auszuwählen, können Sie das Attribut contains selector verwenden. Dies kann jedoch fehlschlagen, wenn in der Verteidigung mehr Platz vorhanden ist.

if (('#foo[style*="width: 100%"]').length) 
 
    alert('true')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="foo" style="width: 100%" />


Um das Problem mit dem Raum lösen Sie regex mit RegExp#test Methode auf Stil-Attribut verwenden können.

if (/\bwidth\s?:\s?100%/.test($('#foo').attr('style'))) 
 
    alert('true')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="foo" style="width: 100%" />

+0

uhm, nein, ich versuche zu überprüfen, ob das div' foo' Habe die 'width' Eigenschaft und auch wenn diese h Ich habe einen Wert von '100%', tatsächlich habe ich es so versucht: 'if ($ ('# foo'). css ('width') == '100') {alert (true); } 'aber scheint nicht zu funktionieren – AgainMe

+1

@AgainMe: aktualisiert –

+1

Ok so ist genug eine' Länge' für überprüfen Sie dies, nie aber zu diesem. Vielen Dank – AgainMe

Verwandte Themen