2010-12-20 47 views
8

嘿, 快速的問題,我無法找到任何網絡上。我有一個父div和一個小div在裏面。用CSS來選擇它,你會說:jquery這個孩子選擇器?

#parent .child {} 

jQuery中我有一個變種我的父元素,但如何選擇孩子這件事? 我知道這很容易創建一個新的變種,我只是好奇,如果這是可能的?

var Parent = $('#parent'); 

Parent.click(function() { 
$(this > '.child').hide(); 

謝謝

+0

注意,[選擇'EF'(http://www.w3.org/TR/CSS2/selector.html#descendant-selectors)不僅僅是子元素,但*任何*後裔匹配'E'的元素。對於孩子只能使用['E> F'](http://www.w3.org/TR/CSS2/selector.html#child-selectors)。 – Gumbo 2010-12-20 08:37:15

回答

23

正確的語法是:

$(".child", this) 

如果你只想要直接兒:

$("> .child", this) 

(歸功於濃湯爲提到這一點)

更新,兩年後

您可以使用$(this).find('> .child')

+0

+1我已經使用這個解決方案:) – 2013-03-13 18:47:57

1

試試這個代碼:

$("#parent").click(function() { 
       $(this).next().hide(); 
}); 
1
var Parent = $('#parent'); 

Parent.click(function() { 
    $(".child", this).hide(); 
}); 

$("#parent").click(function() { 
    $(".child", this).hide(); 
}); 
6

你可能只是調用.find()方法:

var Parent = $('#parent'); 

Parent.click(function() { 
    $(this).find('.child').hide(); 
}); 

如果你只是想選擇直接孩子,用.children()方法代替:

Parent.click(function() { 
    $(this).children('.child').hide(); 
}); 

人們常常用類似語法

$('.child', this); 

也。由於你寫了一個「反向」訂單,所以對我來說不是很方便。無論如何,這種語法會在內部轉換爲.find()語句,所以您實際上正在保存一個呼叫。

參考:.find().children()

1

U可以找到你的父元素的兒童和應用CSS。

示例代碼如下。

var Parent = $('#parent'); 

Parent.click(function() { 
$(this).find('.child').hide();});