简体   繁体   English

如何通过 div 纯 js 将内容包装在 div 中

[英]How to Wrap Content Inside div by div pure js

I have the following code:我有以下代码:

<div id="a"><p>this is p</p></div>

I want to wrap content inside like我想将内容包装在里面

<div id="a"><div class="wrap"><p>this is p</p></div></div>

You can do:你可以做:

 const p = document.querySelector('p'); p.outerHTML = `<div class="wrap">${p.outerHTML}</div>`;
 .wrap{border:2px solid blue} #a{border:2px solid red}
 <div id="a"> <p>this is p</p> </div>

 let curDiv = document.getElementById("a"); curDiv.innerHTML = `<div id="wrap">${curDiv.innerHTML}</div>`
 #a{ border:1px solid green; padding: 6px; } #wrap{ border:1px solid red; padding: 6px; }
 <html> <body> <div id="a"> <p>this is p</p> </div> </body> </html>

Use this:用这个:

var wrapDiv = document.createElement('div');
wrapDiv.setAttribute('class', 'wrap');

var children = document.getElementById('a').getElementsByTagName('p')[0];
children.parentNode.insertBefore(wrapDiv, children);
wrapDiv.appendChild(children);

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

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