![]() |
1
12
据我所知,目前在jquery中无法做到这一点。你能做的最好的就是
您可以使用DOM手动获得优化。
但是,通过这样做可以节省的金额要比通过确保
|
![]() |
2
5
所以使用
有一些评论和讨论
here
和
here
这似乎表明
参考文献: |
![]() |
3
0
我不是jquery内部的专家,但我的理解是jquery发现事物的顺序不一定是它们在DOM中出现的顺序。为了确保您确实获得了DOM中第一个的项,jquery将获取所有内容并对结果进行排序,以便返回第一个元素。 正如您所注意到的,这是一个性能问题。但是,我不相信你能阻止这种行为。 您可以做的是使您的查询更具体,这样选择的查询更少,jquery排序以查找第一个查询的元素也更少。例如,$('li:first')不是很具体,而且速度很慢。从理论上讲,$('mylist>li:first')将更快(尽管我没有将其作为基准进行检查),因为a)它将只在单个列表中搜索,b)子列表也将被排除。 如果您将在某个时间点使用某个选择中的所有项,但在特定时间点只需要第一个项,那么运行选择器以获取所有元素并将其保存到var是有意义的,然后在需要时使用.first()获取第一个元素。
现在,Elems将保存完整的集合,FirstElem将只保存第一个元素。 当然,您也可以只给出每个组中您打算选择特定类的第一个元素,但这可能被认为是一个不雅的解决方案。 |
|
Newbie_Coder · 如何使用Jquery无画布裁剪框架 1 年前 |
|
NovoMannen · 导航中的下拉菜单在内容后面重叠 1 年前 |
![]() |
Community wiki · 无法从jquery文档调用函数 1 年前 |