0

这就是问题所在,它真的让我很生气,因为它可能有一个非常简单的解决方案。看看这个jsfiddle

<body>
<p>
    this is the first paragraph and it will get the prepend without any problems at all
</p>
<span>
    this is a simple span element, and it will also get the prepend without any problems at all
</span>
<em>
    heres a em and this works as well

</em>
<p>
   here is another para and it works , BUT NOW LOOK AT THE NEXT LINE
    <br>BR STARTS HERE
        where is this prepend, ladies and gentlement,,NADA.
    </br>
</p>

$("*", document.body).each(function () {
$(this).prepend('<b><font color="red">  soccer  </font></b>');
});

您会发现一组简单的 HTML 标签,只是一些随机放置的<p>标签<span>。我编写了一个小 jquery(2 行函数),它遍历页面正文中的所有标签,并在每个标签前添加一段 html。

不幸的是,这些<br>标签似乎并不遵循所有其他标签的做法。它没有得到前置的 HTML,我只是想不通。

4

2 回答 2

1

这是因为<br/>标签不能有任何子元素或内容https://developer.mozilla.org/en-US/docs/HTML/Element/br .. 如果你使用 .before()/.after() 它会显示为您想要的兄弟姐妹。

http://jsfiddle.net/Gmbpt/

于 2013-02-15T15:49:36.727 回答
0

如果您阅读规范(http://www.w3.org/TR/html5/text-level-semantics.html#the-br-element),您会看到内容模型br

这意味着它不能有内容..

于 2013-02-15T15:50:28.710 回答