假设我有一个存储在名为obj的变量中的jQuery对象/集合,该变量应该包含一个名为target的id的DOM元素.
我事先并不知道目标是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中选择目标的方法,但我事先不知道何时使用.find以及何时使用.filter.
我想出的是:
var $target = obj.find("#target").add(obj.filter("#target"));
UPDATE
我正在为JSPERF测试页添加解决方案,以查看哪一个是最好的.
目前我的解决方案仍然是最快的.
这是链接,请运行测试,以便我们有更多数据:
解决方法
Ties with the fastest:
var $target = obj.find('#target').addBack('#target')
原文地址:https://www.jb51.cc/jquery/178420.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。