Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 美元(';div div';)和美元(';div';)之间的差额。查找(';div';)?_Javascript_Jquery_Html_Find - Fatal编程技术网

Javascript 美元(';div div';)和美元(';div';)之间的差额。查找(';div';)?

Javascript 美元(';div div';)和美元(';div';)之间的差额。查找(';div';)?,javascript,jquery,html,find,Javascript,Jquery,Html,Find,我只是随便看看jQuery,偶然发现了Find函数 我是这样测试的: $(document).ready(function(){ $('button').click(function(){ $('div').find('div').fadeOut(2000); }); }); 还有这个 $(document).ready(function(){ $('button').click(function(){ $('div div')

我只是随便看看jQuery,偶然发现了Find函数

我是这样测试的:

$(document).ready(function(){

    $('button').click(function(){

        $('div').find('div').fadeOut(2000);

    });
});
还有这个

$(document).ready(function(){

    $('button').click(function(){

        $('div div').fadeOut(2000);

    });
});
两者产生完全相同的结果


有什么区别吗?:)

在您的示例中没有区别,但有些情况下您不能使用第一个,例如,假设您有一个元素作为函数的参数,并且您希望在其中查找div,那么您必须使用“find”方法


但是,当你知道确切的路径时,显然第二种方法更具鲁棒性。

没有区别

如果您已经有一个jQuery对象,
find
方法很有用。
否则,单个选择器更简单

由于这个原因,大多数选择器都有方法等价物(
.children()
.first()
.not()


方法版本还允许您调用以返回到以前的对象。

在这种特定情况下,它们也执行相同的操作。请注意,
find()
将遍历匹配元素的所有子体。

它们都做完全相同的事情,但在较旧的浏览器中,
document.queryselectoral()
不可用(旧IE)
$(“div”).find(“div”)更快

另一件需要注意的事情是,在jQuery中,您也可以这样做:

$("div", "#some-element")
它将在
#某些元素
的内部搜索
div
。jQuery实际上将其转换为:

$("#some-element").find("div")

因此,总是建议使用.find()而不是在上下文中传递。

根据函数规范,应该没有任何区别。可能有一些性能差异,应该可以忽略不计。@Jon嗯,后者更容易输入:)+1这是真的。另一方面,带有qSA的浏览器使用
div-div
会更快@Jeff:只有当
el
是一个选择器时才会如此。@vali:那只适用于
.find
,而不适用于其他选择器。@valipour-当你使用$(el,'div')时,这不起作用-它也会影响
el
。@Jeff:从来没有试过那一个,但我相信现在他们都应该被弃用了。有许多可读性更强的可链接树遍历方法。请参见此处:是的,在这种特定情况下。我注意到了
find()
nice的一般功能,我不知道.end(),但它不是有太多的链接吗?使用此选项将使代码无法读取:)
$("#some-element").find("div")