在循环每个节点的同时识别jquery中的<br/>标签 -

时间:2013-02-15 15:46:57

标签: jquery html prepend

这是问题,它真的真的杀了我,因为它可能有一个非常简单的解决方案。 看看这个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,我只是想不出来。

2 个答案:

答案 0 :(得分:1)

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

http://jsfiddle.net/Gmbpt/

答案 1 :(得分:0)

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

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