我有一个看起来像这样的函数:
function(domObj) {
var currentObj = $(domObj);
...
currentObj.contents().find(".ws").after("foobar");
}
我的问题是上面使用.contents().find()
的方法不起作用。 “foobar”永远不会被指定的dom元素填充,由选择器.ws
但是,如果我这样做:
$(".ws", currentObj).after("foobar");
然后每次都会附加字符串“foobar”。
我的问题:
这两种方法不应该是等同的吗?我使用.contents().find()
时如何/我做错了什么,以致它无效?
谢谢!
答案 0 :(得分:2)
$(".ws", currentObj).after("foobar");
...等同于:
currentObj.find(".ws").after("foobar");
contents()
返回所有子节点,因此当您执行contents().find()
时,您实际上正在 子节点中搜索,而不是搜索子节点 - 节点本身。