jQuery:无法在.find之后追加img标签

时间:2011-06-05 02:56:26

标签: jquery html dom append image

我在一个页面上发生了一个奇怪的问题:

myDiv.append("<img src='...' />")            <--- WORKS
myDiv.find("p").append("whatever")         <--- WORKS
myDiv.find("p").append("<img src='...' />")  <--- FAILS!

在最后一个上没有任何附加内容。我无法通过Firebug看到出了什么问题。当我创建新的测试页面时,所有三个工作,但我无法让它在真实页面上工作。可能会发生什么想法?

3 个答案:

答案 0 :(得分:0)

您是否尝试使用find('p')。html('...')代替。

我想知道这是否适用于您的情况,因为我无法理解为什么会有任何问题。

答案 1 :(得分:0)

我猜你有一些隐藏图像的CSS。像

这样的东西
p img{
   display: none
}

或任何数量的其他样式会导致所描述的问题,并解释为什么它在单独的页面中工作。我建议检查dom并查看元素是否实际存在,如果是,请跟踪样式以查看隐藏它的内容。

答案 2 :(得分:0)

抱歉,我发现问题并不令人惊讶,因为页面上的脚本存在冲突。我有另一个脚本,它自动删除该区域中的空元素,显然它认为img标记为空。我给出的第一个例子的原因是因为它将图像放在删除脚本正在工作的范围之外。卫生署。