Javascript 为什么jQuery.find不能处理片段

Javascript 为什么jQuery.find不能处理片段,javascript,jquery,Javascript,Jquery,为什么这个jQuery代码段: var html = '<div id="a">abc</div>' + '<div id="b">def</div>'; $(html).find('#a') 是否返回空结果[] 如何在不将a div插入实际DOM文档的情况下访问a div?这是因为a是父节点。“查找”搜索子/孙辈等。您需要再次将其包装以使用“查找” 查找子节点中的外观。因为a是您的顶级节点,所以它将找不到它。将片段包装在父元素中,或者使

为什么这个jQuery代码段:

var html = '<div id="a">abc</div>' +
    '<div id="b">def</div>';
$(html).find('#a')
是否返回空结果[]

如何在不将a div插入实际DOM文档的情况下访问a div?

这是因为a是父节点。“查找”搜索子/孙辈等。您需要再次将其包装以使用“查找”


查找子节点中的外观。因为a是您的顶级节点,所以它将找不到它。将片段包装在父元素中,或者使用.filter'a'

var $html = $('<div id="a">abc</div><div id="b">def</div>');
var x = $('<div></div>').append($html);
console.log(x.find('#a'));
var $html = $('<div id="a">abc</div><div id="b">def</div>');
console.log($html.filter('#a'));