是
$('parent child')
与
相同$('parent').find('child')
编辑:我不问速度或性能。我想知道他们是否有同样的事情,或者做不同的事情。如果它们是相同的:为什么它存在,例如,find()如果写的时间更长?
答案 0 :(得分:0)
我认为发现$(Parent).find(child)
比selector
更快。
答案 1 :(得分:0)
descendant selector和find()基本上做同样的事情。即,遍历后代并获得匹配的元素。
后代选择器
描述:选择作为给定后代的所有元素 的祖先。
版本添加:1.0jQuery("祖先后代")祖先:任何有效 选择器。
descendant:用于过滤后代元素的选择器。
元素的后代可以是孩子,孙子, 这个元素的曾孙等等。
<强>找到():强>
描述:获取当前集合中每个元素的后代 匹配的元素,由选择器,jQuery对象或元素过滤。
版本添加:1.0。查找(选择器)
版本添加:1.6.find(元素)
给出一个jQuery对象 表示一组DOM元素,.find()方法允许我们使用 在DOM树中搜索这些元素的后代 从匹配元素构造一个新的jQuery对象。
后代选择器也是CSS选择器的一部分。所以喜欢在CSS组合器中编写的人使用后代选择器。喜欢可读性的人使用find()
同样来自find()文档,这是我在两者之间找到的差异。
从jQuery 1.6开始,我们还可以使用给定的 jQuery过滤选择 集合或元素 。如果我们开始,使用与上面相同的嵌套列表 用:
var allListElements = $( "li" );
然后传递这个jQuery对象来查找:
$( "li.item-ii" ).find( allListElements );
这将返回一个jQuery集合,该集合仅包含作为第II项后代的列表元素。同样,也可以传递一个元素来查找:
var item1 = $( "li.item-1" )[ 0 ];
$( "li.item-ii" ).find(item1).css( "background-color", "red" );
此次通话的结果将是第1项的红色背景。