這是一個有效的選擇器嗎?如果不是,那麼正確的方法是什麼?
$($(this)+' childElement')....
這是一個有效的選擇器嗎?如果不是,那麼正確的方法是什麼?
$($(this)+' childElement')....
使用
$(this).find("childrenSelector")
$(this).find('childrenSelector');
@Ben - 爲什麼這不是公認的答案?跟你接受的一樣,但是先回答。 – 2011-02-07 14:58:26
無論如何,我會以3票作爲一條線投票^^^ – Matt 2011-02-07 15:03:57
這可能是你在找什麼:
$('childElement', $(this))
基本上就會當前元素,this
的範圍內進行搜索childElement
。
有關更多信息,請參閱jQuery()函數的文檔。具體而言,以下摘錄說明了第二個參數,以及它如何等效採用find
:
默認情況下,選擇在DOM內執行他們的搜索開始在文檔根目錄。但是,可以通過對$()函數使用可選的第二個參數來爲搜索提供備用上下文。例如,如果一個回調函數中,我們希望做一個元素的搜索,我們可以限制搜索:
$('div.foo').click(function() { $('span', this).addClass('bar'); });
既然我們限制跨度選擇到這樣的背景下,只有在點擊的跨越元素將獲得額外的類。
在內部,選擇器上下文使用.find()方法實現,因此
$('span', this)
等效於$(this).find('span')
。
你能告訴我它在jQuery文檔中的位置嗎?我從來沒有見過這樣的事情?我想看看它是如何工作的。 – Ben 2011-02-07 14:32:21
或者......
$(本)。兒童( '元素。');
想想`$(this)`返回什麼......沒有字符串,對吧? – delnan 2011-02-07 14:18:24
我不明白你的問題。你想直接選擇一個「這個」的孩子嗎?或者你想通過將「this」的ID附加到孩子的ID來動態選擇一個孩子? – 2011-02-07 14:29:39