简体   繁体   English

如何在没有标签的地方添加标签?

[英]How to add a tag where there isn't one yet?

If I have this HTML code for example: 例如,如果我有此HTML代码:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
consequat.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
consequat.

How can I add tag <p></p> for every text where I do not have any tags, like this untagged lorem ipsum text? 如何为没有标签的每个文本添加标签<p></p> ,例如未标记的lorem ipsum文本?

You could use an array for the paragraphs and build a new node for every paragraph. 您可以为段落使用数组,并为每个段落构建一个新节点。 Then append to document.body . 然后追加到document.body

 var text = ['Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.']; text.forEach(function (t) { var p = document.createElement('p'); p.appendChild(document.createTextNode(t)); document.body.appendChild(p); }); 

Assuming your full text/lipsum is wrapped in some div or other html tag: 假设您的全文/ lipsum包裹在div或其他html标签中:

<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>

You can find the paragraphs, split by new lines, then re-insert it with surrounding p tags. 您可以找到这些段落,并用新行分隔,然后用周围的p标签重新插入。

const element = $('.text')
const content = element.html()
const lines = content.split('\n')
const paragraphs = lines.filter(x => x)
const html = paragraphs.map(x => '<p>' + x + '</p>').join()
element.html(html)

If you're unfamiliar with fat arrows (x => ...) let me know and I'll change it to JS5 如果您不熟悉粗箭头(x => ...),请告诉我,我将其更改为JS5

https://jsfiddle.net/wtLs7ef6/2/ https://jsfiddle.net/wtLs7ef6/2/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM