2016-04-15 15 views
-3

Wie wähle ich die erste css-Klasse .CategoryText ausgehend von <p>?jquery wählen Eltern css

<div class="CategoryText NoPadding"> 
    text 
</div> 

<div class="CategoryText NoPadding"> 
    <p>text</p> 
</div> 

-

$(".CategoryText > p").parent().parent().css({"display": "none",}); 

Es funktioniert nicht. Dies wählt alle abgehenden von der ersten Klasse .CategoryText aus. Ich möchte nur eine auswählen - die erste Klasse .CategoryText.

+3

Ihre Frage ist nicht klar. Versuchen Sie es besser zu erklären. – RRK

+0

welchen du verstecken willst? – Vainglory07

+0

Möchten Sie keine Anzeige zu 'CategoryText' hinzufügen? – guradio

Antwort

1

Versuch zurück()/nächste()

$(".CategoryText > p").parent().prev('.CategoryText').css({"display": "none"}); 
+1

Jahr danke, es funktioniert. > https://jsfiddle.net/yLsynz0e/ prev() war das Schlüsselwort – Sebastian

2

Der gesamte Text auswählen verschwindet, weil Sie ein zu viele verwenden .parent() Anrufe. jQuery hat auch eine eingebaute Convenience-Methode, um für Sie zu tun.

Versuchen Sie folgendes:

$('.CategoryParent>p').parent().hide();

0

Ich bin nicht wirklich sicher, ob ich dieses Recht bekam. So wählt die .CategoryText > p alle p Elemente, die unmittelbare Kindelemente von Elementen mit der Klasse CategoryText sind. Mit :first wählen Sie nur das erste übereinstimmende Element aus. Dann, mit .parent() oder wählen Sie seine Eltern, so dass das Element mit der Klasse CategoryText. Hier

ist eine Demo:

var e = $('.CategoryText > p:first').parent(); 
 
console.log(e.length + " mached element"); // only one matched item 
 
console.log(e.html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script> 
 
<div class="CategoryText NoPadding"> 
 
    text 
 
</div> 
 

 
<div class="CategoryText NoPadding"> 
 
    <p>text 1</p> 
 
</div> 
 
<div class="CategoryText NoPadding"> 
 
    <p>text 2</p> 
 
</div>

0

Sie können das erste Element der Klasse wählen CategoryText wie folgt aus: $(".CategoryText:nth-child(1)")