这是方案
doc = $('<div><h1>hello</h1><div>')
ele = $('<h1>hello</h1>') or ele = doc.find('h1').clone()
doc.find(ele)
不会产生任何结果..
答案 0 :(得分:1)
(由于两个答案非常不同,我添加了第二个答案)
另一种方法是定义自己的clone
方法,该方法记录克隆的元素。
jQuery.fn.cloneWithRecord = function() {
var clone = jQuery(this).clone();
clone.data('clone-parent', this);
return clone;
}
var doc = jQuery('<div><h1>hello</h1><div>');
var ele = doc.find('h1').cloneWithRecord();
ele.data('clone-parent') // => [<h1>hello</h1>] from doc
答案 1 :(得分:0)
不幸的是,您看到的输出是预期的结果。 $.find
将查找完全相同的元素。克隆元素时,它不再是完全相同的元素。
这是一个长期的解决方法,并不是真正的高效,但可能是您需要的:
doc.find(ele[0].nodeName).filter(function(){return this.outerHTML == ele[0].outerHTML})
// returns the element [<h1>hello</h1>] in `doc`