2011-02-07 58 views
1

這是一個有效的選擇器嗎?如果不是,那麼正確的方法是什麼?

$($(this)+' childElement').... 
+1

想想`$(this)`返回什麼......沒有字符串,對吧? – delnan 2011-02-07 14:18:24

+0

我不明白你的問題。你想直接選擇一個「這個」的孩子嗎?或者你想通過將「this」的ID附加到孩子的ID來動態選擇一個孩子? – 2011-02-07 14:29:39

回答

4

使用

$(this).find("childrenSelector") 
4
$(this).find('childrenSelector'); 
+0

@Ben - 爲什麼這不是公認的答案?跟你接受的一樣,但是先回答。 – 2011-02-07 14:58:26

+0

無論如何,我會以3票作爲一條線投票^^^ – Matt 2011-02-07 15:03:57

7

這可能是你在找什麼:

$('childElement', $(this)) 

基本上就會當前元素,this的範圍內進行搜索childElement


有關更多信息,請參閱jQuery()函數的文檔。具體而言,以下摘錄說明了第二個參數,以及它如何等效採用find

默認情況下,選擇在DOM內執行他們的搜索開始在文檔根目錄。但是,可以通過對$()函數使用可選的第二個參數來爲搜索提供備用上下文。例如,如果一個回調函數中,我們希望做一個元素的搜索,我們可以限制搜索:

$('div.foo').click(function() { 
    $('span', this).addClass('bar'); 
}); 

既然我們限制跨度選擇到這樣的背景下,只有在點擊的跨越元素將獲得額外的類。

在內部,選擇器上下文使用.find()方法實現,因此$('span', this)等效於$(this).find('span')

+0

你能告訴我它在jQuery文檔中的位置嗎?我從來沒有見過這樣的事情?我想看看它是如何工作的。 – Ben 2011-02-07 14:32:21

0

或者......

$(本)。兒童( '元素。');