2016-04-28 5 views
1

Ich möchte ein Div ausblenden, wenn es zu einem übergeordneten div gehört, für das das Attribut data-ontarget auf true festgelegt ist. Ich habe Folgendes versucht, aber nichts passiert.So ändern Sie das CSS des untergeordneten Elements mithilfe des Attributselektors

Wenn ich den Klassennamen nach dem Attributselektor im folgenden Beispiel entferne, wird das gesamte Eltern-Div ausgeblendet. Der Attributselektor funktioniert also, aber nicht in Kombination mit der Suche nach einer Kindklasse.

Hier ist, was ich versuche: HTML:

<div class="myClass" data-ontarget="false"> 
     <img src="myImage1.png"/> 
     <div class="myImage">This is my image 1</div> 
</div> 
<div class="myClass" data-ontarget="true"> 
     <img src="myImage2.png"/> 
     <div class="myImage">This is my image 2</div> 
</div> 

CSS:

[data-ontarget="true"] .myImage{ 
    display: none; 
} 
+0

Ich habe Ihren Code getestet und es funktioniert für mich ganz gut? –

+2

Es funktioniert für mich. Hast du den Doctype oben auf deiner HTML-Seite angegeben? Es muss beerwin

Antwort

0

mit display ersetzen Opazität Eigenschaft, um das Element zu verstecken.

.input_container[data="true"] .awsome_input_border{ 
 
    opacity: .5; 
 
} 
 
.input_container[data="false"] .awsome_input_border{ 
 
    opacity: 1; 
 
}
<div class="input_container" data="true"> 
 

 
<span class="awsome_input_border"/> 
 
hide me!! 
 
</div> 
 
<div class="input_container" data="false"> 
 

 
<span class="awsome_input_border"/> 
 
hide me!! 
 
</div>

+0

sein Vielen Dank. Als ich Ihre Lösung ausprobiert habe, hat es auch nicht funktioniert, obwohl es funktioniert, wenn ich in StackOverflow die Schaltfläche "Code-Snippet ausführen" gedrückt habe. –

0

Ich glaube, Sie die richtige CSS fehlen, die div als versteckte Ihr Ziel macht.

Siehe Demo here.

finden Sie den Code unten:

HTML:

<div class="parent"> 
    <div class="myClass" data-ontarget="false"> 
    <img src="myImage1.png" /> 
    <div class="myImage">This is my image 1</div> 
    </div> 
    <div class="myClass" data-ontarget="true"> 
    <img src="myImage2.png" /> 
    <div class="myImage">This is my image 2</div> 
    </div> 
</div> 

CSS:

.parent > div[data-ontarget="true"] { 
    display: none; 
}