在下面的jQuery片段中,为什么foo2对象没有元素?我的警报显示foo1确实包含DOM元素。不应该找((*“)然后只返回实际上是foo1的克隆?
var foo1 = $("<div id='content'>HAGGIS</div>");
var foo2 = foo1.find("*");
alert("foo1("+foo1.length+"): "+$('<div>').append(foo1.clone()).remove().html()
+ "\n\n" +
"foo2("+foo2.length+"): "+$('<div>').append(foo2.clone()).remove().html());
答案 0 :(得分:3)
foo2
没有元素,因为选择器适用于foo1
的所有子元素,它们没有子元素,只有文本节点。
答案 1 :(得分:2)
答案 2 :(得分:1)
不,如果我理解你的问题,那么我会说find()
会寻找孩子。这就是为什么foo2.length
会给你0.如果你想要克隆foo1
那么var foo2 = foo1.clone();
就是正确的。