帮助理解jQuery选择器示例
以下代码取自jQuery插件演示。我不明白第2行的选择器中发生了什么。它似乎在选择p元素,但逗号后面的第二个参数是什么 jQuery:帮助理解jQuery选择器示例,jquery,jquery-selectors,Jquery,Jquery Selectors,以下代码取自jQuery插件演示。我不明白第2行的选择器中发生了什么。它似乎在选择p元素,但逗号后面的第二个参数是什么 jQuery: var demos = $("div.wrapper div.demos"); $(".uncontrolled-interval p", demos).everyTime(1000,function(i) { $(this).html(i); }); <d
var demos = $("div.wrapper div.demos");
$(".uncontrolled-interval p", demos).everyTime(1000,function(i) {
$(this).html(i);
});
<div class="wrapper">
<div class="demos">
<div class="uncontrolled-interval">
<p>I am transient... *sigh*</p>
</div>
</div>
</div>
HTML:
var demos = $("div.wrapper div.demos");
$(".uncontrolled-interval p", demos).everyTime(1000,function(i) {
$(this).html(i);
});
<div class="wrapper">
<div class="demos">
<div class="uncontrolled-interval">
<p>I am transient... *sigh*</p>
</div>
</div>
</div>
我是短暂的*叹息*
谢谢它指定了搜索的上下文。基本上是一个过滤器 因此在本例中,它在
demos
元素中搜索.uncontrolled interval p
。如果您有此标记,它仍然只会选择demos
中的标记
<div class="wrapper">
<div class="uncontrolled-interval">
<p>I am transient... *sigh*</p> //Will not select
</div>
<div class="demos">
<div class="uncontrolled-interval">
<p>I am transient... *sigh*</p> //Will select
</div>
</div>
</div>
我是短暂的*叹息*//将不会选择
我是短暂的*叹息*//将选择
当使用jQuery使用jQuery
函数(或其别名$
)选择元素时,您可以提供上下文以及所述的选择器
这意味着:在给定的上下文中选择与提供的CSS选择器匹配的每个元素,其中上下文表示您已经选择的DOM区域
换句话说,它说:使用上下文作为要搜索的DOM树的根,而不是文档根。除了其他答案之外,上下文的工作原理如下: 在内部,选择器上下文是 使用.find()方法实现, 所以$('span',这个)相当于 $(this.find('span')
就个人而言,我更喜欢编写
demos.find(“.uncontrolled interval p”)
而不是$(“.uncontrolled interval p”,demos)
@Dancrumb-感谢您的详细解释