2010-02-22 286 views
3

首先在這裏發表所以請溫柔:)jQuery選擇選項

我找遍了網,我不知道我在用正確的術語既不是它的名字搜索。但是輔助選項在jQuery選擇器中做了什麼?例如:

$('.results table', this.parent().prev()) 

.results表上的第二批選項匹配我不知道這實際上做了什麼?例如,是否類似於$('.results table').parent().prev()。對不起,我剛剛舉了這個代碼爲例。

欣賞指針,因爲我剛剛學習jQuery。

回答

2

它意味着在第二個參數所指的元素「下方」的某處尋找選擇器。這就像:

$('secondParameterSelector').find('firstParameterSelector') ... 

你的榜樣,它就像

this.parent().prev().find('.results table') 

(這是假設this.parent().prev()當然是一個jQuery對象)

6

第二個參數是一個可選的情況下,可以提供限制選擇器只在提供的上下文中搜索匹配。例如,假設您正在循環使用<table><tr>元素和每個<tr>元素,您要選擇第二個<td>元素。你可以使用下面的

$('table tr').each(function() { 
    $('td:eq(1)', this).doSomething(); // the function context, this, is the `<tr>` 
             // element in each iteration 
}); 

selectors documentation真的是很不錯,值得細讀過。實際上,整個jQuery API文檔都不錯:)

+0

jQuery文檔是選擇jQuery優於其他JS庫的主要原因之一 – Erik

0

第二個參數是上下文。舉例來說,如果你想在點擊任何div呼應第一span元素的文本:

$("div").click(function(){ 
    alert($("span:first", this).text()); 
}); 

在該示例中的this是指曾經div被點擊到。這是我們的背景。這個「上下文」可以是一個DOM元素,文檔或jQuery對象。

更多閱讀:http://api.jquery.com/jQuery/