2016-08-04 18 views
0

ich habe:ist ('Sichtbar'). == true auf nicht-sichtbar Eltern

<div style="display:none;"> 
    <div class="checkMe"></div> 
</div> 

wenn ich jetzt .checkMe überprüfen, ob es sichtbar ist ..

if($('.checkMe').is(':visible')) { ... 

es wahr ist, obwohl es nicht

gibt es eine Möglichkeit, die Prüfung zu erreichen, ohne die Eltern-div zu überprüfen?

+2

Wie Sie aus der Antwort unten sehen können, was Sie haben sollte (und tut) arbeiten absolut in Ordnung. Sind Sie sicher, dass Sie nur ein '.checkMe' Element im DOM haben? –

+0

Gibt 'false' zurück Überprüfen Sie [fiddle] (https://jsfiddle.net/uo463ave/) –

+0

' console.log ($ ('. CheckMe'). Is (': visible')); 'druckt' false', wie ich es erwarten würde. Was ist der Körper Ihres "if" -Blocks (und der Rest Ihres Codes) und was sehen Sie, was darauf hinweist, dass es sich um "wahr" handelt? – ryachza

Antwort

2

Es gibt den richtigen Wert zurück.

if ($('.checkMe').is(':visible')) { 
 
    console.log(true); 
 
} else { 
 
    console.log(false); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div style="display:none;"> 
 
    <div class="checkMe"></div> 
 
</div>

+0

Kumpel .. du hast Recht !! .. es ist meine eigene Schuld. der Fehler ist woanders! -.- ..sooooorrry :) – 99Problems

1

bin ich über diese Antwort nicht sicher

<div style="display:none;"> 
    <div class="checkMe">child div</div> 
</div> 
<div id="samp"></div> 


var element = jQuery('.checkMe').clone(); 
element.appendTo('#samp'); 
if($('.checkMe').is(':visible')) 
{ 
    alert('visible'); 
} 
else 
{ 
    alert('not visible'); 

} 
Verwandte Themen