在前端web设计中,使用js动态脚本很容易删除掉一个元素中的所有子元素,但如果要删除元素中所有指定类型的子元素该如何操作呢?今天就来和大家说一说,如何使用js删除一个元素下所有指定类型子元素的方法。
js 删除元素下指定类型的所有子元素
这里以删除元素下,所有的图片元素为例
逻辑代码:
<div id="mochu" class="mochu"> <p>第一</p> <div>第二</div> <img src="1.png"/> <div>第三</div> <i>第四</i> <img src="2.png" /> </div> <script> str= ''; list = document.getElementById('mochu').children; for (i = 0; i < list.length; i++) { //循环得到所有IMG元素的索引 if(list[i].tagName == 'IMG'){ str += i+','; } } //转成数据 arr = str.split(","); //去掉数组的最后一项,因为最后一项为空 arr.pop(); //数据倒序排列,因为要从索引最大的子元素开始删除,不然会出错 arr.reverse(); for (i = 0; i < arr.length; i++) { elent = document.getElementById('mochu'); //开始删除子元素 elent.removeChild(elent.children[parseInt(arr[i])]); } </script>
运行结果如下图:
注:
1、以上原生的JS代码,虽然可用,但还有优化的空间
2、如果你有更好的逻辑代码,不妨在下面留言哦。
3、以上代码,只对子元素有效,其它带有子孙元素的DIV未测试
JQ代码删除元素下指定类型的所有子元素
相对于原生的JS来说,jquery 删除元素下指定类型的所有子元素的代码,要简单的多。
JQ代码:
<!--HTML代码,参考上面的示例--> <script> $('#mochu').find('img').remove(); </script>
注意:使用 JQ 代码前,一定要先加载 jquery.js
以上就是javascript 删除所有指定类型子元素的方法。昨日的辉煌已过去,这天的辉煌要争取,明天的辉煌需发奋。更多关于javascript 删除所有指定类型子元素的方法请关注haodaima.com其它相关文章!