jQuery移除某class的div标签,但保留内容文字
作者:admin 时间:2024-7-7 13:49:58 浏览:当我们要用jQuery操作HTML,想移除某class的div标签,但保留内容文字。例如原HTML代码如下:
<body>
<div class="div1">
<div class="div2">这是一个测试示例</div>
</div>
</body>
现在要把上述代码class="div2"
的div标签删掉,只保留内容文字。想要的结果如下:
<body>
<div class="div1">
这是一个测试示例
</div>
</body>
我们该如何写jQuery实现呢?下面是实现代码:
$('div.div2').each(function() {
// 提取内容
var contents = $(this).html();
// 将内容插入到当前位置(即div1的父元素)
$(this).parent().append(contents);
// 移除原来的div标签
$(this).remove();
});
下面是一个完整示例
index.html
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<style>
html,
body {
margin-top: 50px;
margin-left: 50px;
}
.div1{
background: #999;
width:300px;
height:80px;
padding:15px 15px;
}
.div2 {
background: #ccc;
width:200px;
height:50px;
padding:5px 5px;
}
</style>
</head>
<body>
<div class="div1">
<div class="div2">这是一个测试示例</div>
</div>
<p>
<input type=button value="提取内容" onclick=myfunc()>
<input type=button value="还原" onclick=myfunc2()>
</p>
<script src='jquery-3.2.1.min.js'></script>
<script>
function myfunc(){
$('div.div2').each(function() {
// 提取内容
var contents = $(this).html();
// 将内容插入到当前位置(即div1的父元素)
$(this).parent().append(contents);
// 移除原来的div标签
$(this).remove();
});
}
function myfunc2(){
var contents = $('div.div1').html();
var htmlContents = "<div class='div2'>" + contents + "</div>";
$('div.div1').html(htmlContents);
}
</script>
</body>
</html>
总结
本文介绍了如何用jQuery操作HTML,移除某class的div标签,但保留内容文字的实现代码。
相关文章
x
- 站长推荐