2010-02-22 239 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/