从HTML片段创建节点列表后,.find()无法按预期工作

时间:2016-03-30 09:34:39

标签: javascript jquery jquery-selectors

我使用jQuery有以下Javascript代码:

var html = '<a href="http://foo.example.com">Foo/a> | ' + 
           '<a href="http://bar.example.com">Bar</a>';
var aTags = $(html).find('a');
console.log(aTags.length); // => 0

为什么aTags是一个空数组而不是一个2 <a>个节点的数组?

1 个答案:

答案 0 :(得分:5)

您需要使用filter(),因为find()尝试查找jQuery对象引用的元素的后代元素,在您的字符串中a元素位于根{{1}将无法找到它们

&#13;
&#13;
find()
&#13;
var html = '<a href="http://foo.example.com">Foo/a> | ' +
  '<a href="http://bar.example.com">Bar</a>';
var aTags = $(html).filter('a');
snippet.log(aTags.length); // => 0
&#13;
&#13;
&#13;