2016-04-15 83 views
-3

如何选择从<p>传出的第一个css类.CategoryTextjquery select parent css

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

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

-

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

它不工作。这将选择第一类.CategoryText的所有输出。我只想选择一个 - 第一类.CategoryText

+3

你的问题不明确。试着更好地解释它。 – RRK

+0

你想隐藏哪一个? – Vainglory07

+0

你想添加显示none到'CategoryText'吗? – guradio

回答

1

试上一个()/下一个()

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

年谢谢,它的工作原理。 > https://jsfiddle.net/yLsynz0e/ prev()是关键字 – Sebastian

2

所有的文字正在消失的太多.parent()调用。 jQuery也有一个内置的.hide()便利方法来为你设置display: none

试试这个:

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

0

我真的不知道,如果我得到这个权利。 因此,.CategoryText > p选择所有p元素是具有类CategoryText的元素的直接子元素。用:first您只选择第一个匹配的元素。 然后,与.parent() ou选择其父,所以类的元素CategoryText

这里是一个演示:

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

您可以选择CategoryText类的第一个元素像:$(".CategoryText:nth-child(1)")