当我读这本书时,我发现我无法理解这个
$("span.task-name",$task).text(taskName);
task-name
是span标记的类
有人可以帮助我吗? 这样做的确切含义是什么?
答案 0 :(得分:2)
第二个参数用于上下文:http://api.jquery.com/jquery/#jQuery1
它类似于.find()
,它选择jquery并尝试使用新的选择器对其进行优化。例如,如果您想在span.span1
中选择#div1
,则可以执行以下操作:
$("span.span1", "#div1");
这与:
相同$("#div1 span.span1");
在两者之间,性能上只有很小的差异,但功能上没有差异。
答案 1 :(得分:0)
主要的jQuery函数有一些不同的签名,你在这里展示的是一个上下文:
$( ".foo", "#bar" ); // Same as $( "#bar .foo" ), or $( "#bar" ).find( ".foo" );
这将在 .foo
中找到#bar
的实例。或者,您可以传入一个对象,该对象具有适用于新创建元素的属性(和更多):
$( "<div></div>", { html: "<b>Hi</b>" } ); // $( "<div></div>" ).html( "<b>Hi</b>" );
这类似于在新创建的$.fn.html
元素上调用DIV
方法。
答案 2 :(得分:0)
来自jQuery文档:
选择器上下文
默认情况下,选择器在DOM开始时执行搜索 在文档根目录。但是,可以给出替代上下文 使用可选的第二个参数到$()函数进行搜索。
答案 3 :(得分:0)
第二个参数是上下文。有一个例子:假设你已经选择了#div,并且你想在div中选择跨度。
你会这样做:
var spans = $('#div').find('span');
不是通过.find()
查找,而是可以使用jQuery()的第二个参数:
var div = $('#div');
var spans = $('span', div);
那就是你为jQuery函数指定上下文,希望有助于理解。 :)