素材牛VIP会员
怎么给一组子元素添加一个div'父元素?
 ah***xr  分类:JavaScript  人气:923  回帖:4  发布于6年前 收藏

如图,我想把红色框框中的那一大组元素都放入一个div里,用wrap不行,只能给每个div class=‘item’添加单个div,而不是总的放在一个div里,或者有没有办法把这一组元素的父元素即<span id='DataList1'>这个元素改成是div呢???

 标签:jqueryjavascript

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
雨***技 其它 6年前#1

jQ里wrap系的接口一共有四个,分别是wrap、wrapAll和wrapInner,此外还有个unwrap。他们的区别在于wrap负责给每个匹配的元素打包,wrapAll负责给所有匹配的元素打包,wrapInner给匹配元素里边的内容打包,unwrap拆包。不过现在鉴于你外边已经有个span了,我觉得可以试试用replaceWith把它直接替换掉就好了。

$('#DataList1').replaceWith('<div>' + $(this).contents() + '</div>');
Lv5 码农
马***1 技术总监 6年前#2
$('#DataList1').wrapInner('<div class="DataList1"></div>').children().unwrap();
Lv6 码匠
wt***00 UI设计师 6年前#3
document.body.innerHTML = document.body.innerHTML.replace(/<([\/]?)(span)((:?\s*)(:?[^>]*)(:?\s*))>/g, '<$1div$3>'); 

已经亲测 没有任何问题

Lv6 码匠
香***刊 软件测试工程师 6年前#4

为啥非要div,span弄成block不一样?
要做也是可以的,如下:

let aHtml=$('#DataList1').html();
$('#DataList1').html('<div>'+aHtml+'</div>');
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取