2016-04-15 77 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)")