假设我有一个 jQuery 对象/集合存储在名为 obj 的变量中,它应该包含一个 DOM 元素,其 id 名为 target。
我事先不知道目标是否是obj中的子,即:
obj = $('<div id="parent"><div id="target"></div></div>');
或者如果obj 等于 目标,即:
obj = $('<div id="target"></div>');
或者如果target是obj内的顶级元素,即:
obj = $('<div id="target"/><span id="other"/>');
<小时/>
我需要一种从obj中选择target的方法,但我事先不知道何时使用.find以及何时使用使用.filter。
从obj中提取目标的最快和/或最简洁的方法是什么?
我想出的是:
var $target = obj.find("#target").add(obj.filter("#target"));
<小时/>
更新 我正在向 JSPERF 测试页面添加解决方案,以查看哪一个是最好的。 目前我的解决方案仍然是最快的。 这是链接,请运行测试,以便我们获得更多数据:
最佳答案
我想出的是:
var $target = obj.find("#target").add(obj.filter("#target"));
目前我的解决方案仍然是最快的。这是链接,请运行测试,以便我们获得更多数据:
关于jquery - 从另一个未知 jQuery 对象中选择对象的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854967/