jquery - 从另一个未知 jQuery 对象中选择对象的最佳方法

标签 jquery performance jquery-selectors cross-browser jquery-traversing

假设我有一个 jQuery 对象/集合存储在名为 obj 的变量中,它应该包含一个 DOM 元素,其 id 名为 target

我事先不知道目标是否是obj中的,即:

obj = $('<div id="parent"><div id="target"></div></div>');

或者如果obj 等于 目标,即:

obj = $('<div id="target"></div>');

或者如果targetobj内的顶级元素,即:

obj = $('<div id="target"/><span id="other"/>');
<小时/>

我需要一种从obj中选择target的方法,但我事先不知道何时使用.find以及何时使用使用.filter

obj中提取目标的最快和/或最简洁的方法是什么?

我想出的是:

var $target = obj.find("#target").add(obj.filter("#target"));
<小时/>

更新 我正在向 JSPERF 测试页面添加解决方案,以查看哪一个是最好的。 目前我的解决方案仍然是最快的。 这是链接,请运行测试,以便我们获得更多数据:

http://jsperf.com/jquery-selecting-objects

最佳答案

我想出的是:

var $target = obj.find("#target").add(obj.filter("#target"));

目前我的解决方案仍然是最快的。这是链接,请运行测试,以便我们获得更多数据:

http://jsperf.com/jquery-selecting-objects

关于jquery - 从另一个未知 jQuery 对象中选择对象的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854967/

相关文章:

javascript - 使用 jQuery 将提交选择放入变量中

jquery - 如何使用 jQuery 取消选中禁用的单选按钮?

javascript - 单击行上的 Jquery 数据表将旧数据弹出

javascript - jQuery:选择出现在另一个指定元素之后的元素的第一个实例

jquery - 我怎样才能确保文本永远不会从屏幕上掉下来

ios - iphone 4 上 air 应用程序的性能问题

c# - 为什么在 C# 中有些迭代器比其他迭代器快?

linux - Eclipse makefile 构建速度很慢......是什么原因造成的?

javascript - 页面底部的 DataTable 固定标题(在第一页加载时)

javascript - jQuery .. div 显示/幻灯片?