我有一些文本需要用"p"标记包装。我如何通过Plain JavaScript实现这一点?我尝试使用下面的脚本,但它省略了内联元素。
var texts = function (first, firstTexts) {
first = first.firstChild;
while(first) {
if (first.nodeType == Node.TEXT_NODE)
firstTexts.push(first);
first = first.nextSibling;
}
};
var textWrap = function (thisText) {
for(var node of thisText) {
var addTag = document.createElement('p');
node.parentNode.insertBefore(addTag, node);
addTag.appendChild(node);
}
};
var textElements = [];
texts(document.querySelector(".div"), textElements);
textWrap(textElements);
jQuery解决方案可用。但简单的JavaScript答案可能很优雅。我搜索了很多次Stack Overflow和其他网站,但都没有找到任何线索。
这是我的HTML
<div class="div">
<a href="#read">Learning</a> is <i>growing</i> process.
<br>
Knowledge <span>removes the fear</span>.
</div>
预期输出
<div class="div">
<p><a href="#read">Learning</a> is <i>growing</i> process.</p>
<br>
<p>Knowledge <span>removes the fear</span>.</p>
</div>
我是JavaScript的初学者。朋友们请帮我做这件事。谢谢
在<div...>
中添加id="myDiv"
,然后:
var innerHTML=document.getElementById("myDiv").innerHTML;
document.getElementById("myDiv").innerHTML="<p>"+innerHTML.split("<br>").join("</p>n<br>n<p>")+"</p>";
一次性解决方案。。。它将不断添加<p>
-</p>
…