Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery选择器$(element,$(document.body))做什么?_Javascript_Jquery - Fatal编程技术网

Javascript jQuery选择器$(element,$(document.body))做什么?

Javascript jQuery选择器$(element,$(document.body))做什么?,javascript,jquery,Javascript,Jquery,我试图弄清楚这个jquery选择器到底在做什么。当它运行时,它会大规模执行,删除它会将执行速度提高大约95%。优化后的代码在没有它的情况下可以正常工作,但我仍然试图弄清楚它最初在做什么 以下是原始代码格式: $("[name='" + this.Name + "']", $(document.body))... 我想弄清楚的是逗号后面是什么。它不是选择器的正常部分,因为它不在主要的引号批之外,而且我还没有找到任何关于此类内容的文档。当代码减少到 $("[name=\"" + this.Name

我试图弄清楚这个jquery选择器到底在做什么。当它运行时,它会大规模执行,删除它会将执行速度提高大约95%。优化后的代码在没有它的情况下可以正常工作,但我仍然试图弄清楚它最初在做什么

以下是原始代码格式:

$("[name='" + this.Name + "']", $(document.body))...
我想弄清楚的是逗号后面是什么。它不是选择器的正常部分,因为它不在主要的引号批之外,而且我还没有找到任何关于此类内容的文档。当代码减少到

$("[name=\"" + this.Name + "\"]")

然后,它以大幅提高的速度运行(快95%)。有人知道额外的
$(document.body)
在做什么吗?

它只是定义选择器应该操作的上下文。在您的示例中,它显式地将文档体设置为上下文,但您可以使用DOM中的任何元素。查看该主题的详细讨论。

它只是定义选择器应该操作的上下文。在您的示例中,它显式地将文档体设置为上下文,但您可以使用DOM中的任何元素。查看此主题的详细讨论。

的第二个参数是
上下文。这与执行以下操作相同:

$(document.body).find("[name='" + this.Name + "']")
(这是完全无用的,因为标签通常不在文档正文之外。)

另外,您不需要将第二个参数包装在
$()
中,它可以是DOM元素(甚至是选择器)

的第二个参数是
上下文
。这与执行以下操作相同:

$(document.body).find("[name='" + this.Name + "']")
(这是完全无用的,因为标签通常不在文档正文之外。)

另外,您不需要将第二个参数包装在
$()
中,它可以是DOM元素(甚至是选择器)


好消息是jQuery API被完整地文档化了:好消息是jQuery API被完整地文档化了:这三者之间有什么区别,如果有的话?:
$(“p”,document.body))
VS
$(“p”,document.body)
VS
$(“p”)
@Madmartigan:前两个是相同的。第二个可能更快,因为它没有额外的
$()
。第三个搜索整个页面,可以包含
@Rocket:我想是的,谢谢。是的,我总是以
p
从我的
身体里出来而告终@Madmartigan-在我的脑海里,我想不出有什么不同。编辑:看看你对火箭的回复,然后在我的显示器上吐咖啡。谢谢。如果有,这三个之间有什么区别吗?:
$(“p”,“$(document.body))
VS
$(“p”,document.body)
VS
$(“p”)
@Madmartigan:前两个是相同的。第二个可能更快,因为它没有额外的
$()
。第三个搜索整个页面,可以包含
@Rocket:我想是的,谢谢。是的,我总是以
p
从我的
身体里出来而告终@Madmartigan-在我的脑海里,我想不出有什么不同。编辑:看看你对火箭的回复,然后在我的显示器上吐咖啡。谢谢。太棒了,我认为这是一个正确的想法,但不确定,也找不到支持它的文档。太棒了,我认为这是一个正确的想法,但不确定,也找不到支持它的文档。