У меня есть содержимое, текст которого не оборачивается никакими тегами html. Как я могу добавить тег «p», используя обычный JavaScript? jQuery решение уже существует, но мне нужно простое JavaScript решение. Я уже пробовал с «nodeType» , «innerText» , «textContent» и «innerHTML» .
jQuery решение - это
$('.arfaa').each(function() {
$(this).contents().filter(function() {
return this.nodeType === 3;
}).wrap('<p></p>');
});
Как это понять простым JavaScript?
<div class="content">
This is just a line of text.
<div><img src="demo.jpg" alt=""></div>
This is just a line of text.
<br><br>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
<br><br>
This is just a <a href="#">line</a> of text.
<br><br>
This is just a <span>line of text</span>.
<br><br>
<figure><img src="demo.jpg" alt="text">
<figcaption>img description</figcaption>
</figure>
This is just a line of text.
<br><br>
This is just a line of text.
<table><tbody>
<tr><th>A</th><td>A value</td></tr>
<tr><th>B</th><td>B value</td></tr></tbody>
</table>
<br><br>
This is just a line of text.
</div>
Ожидаемый результат
<div class="content">
<p>This is just a line of text.</p>
<div><img src="demo.jpg" alt=""></div>
<p>This is just a line of text.</p>
<br><br>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
<br><br>
<p>This is just a <a href="#">line</a> of text.</p>
<br><br>
<p>This is just a <span>line of text</span>.</p>
<br><br>
<figure><img src="demo.jpg" alt="text">
<figcaption>img description</figcaption>
</figure>
<p>This is just a line of text.</p>
<br><br>
<p>This is just a line of text.</p>
<table><tbody>
<tr><th>A</th><td>A value</td></tr>
<tr><th>B</th><td>B value</td></tr></tbody>
</table>
<br><br>
<p>This is just a line of text.</p>
</div>