前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生JS动态添加、删除元素&内容

原生JS动态添加、删除元素&内容

作者头像
德顺
发布2019-11-13 10:08:58
26.9K0
发布2019-11-13 10:08:58
举报
文章被收录于专栏:前端资源前端资源
整理一下原生 js 添加及删除元素和内容的相关知识,供参考。

初始HTML代码:(一个小实例,点击按钮删除元素)

代码语言:javascript
复制
<div id="container">
    <h2 id="Element">我只是一个小元素,任人宰割。</h2>
</div>
<button id="btn">刀是我拿的,人是我杀的</button>

 一个容器,用来放添加的元素。一个button按钮,用来动态的操作DOM。

初始js代码:

代码语言:javascript
复制
var container = document.getElementById("container");
var Element = document.getElementById("Element");
var btn = document.getElementById("btn");
btn.onclick = function () {
  Element.parentNode.removeChild(Element);
  console.log("删除成功!")
}

添加元素:

在元素内添加内容:

文本内容 innerText

代码语言:javascript
复制
container.innerText = '追加的内容';

HTML内容 innerHTML

代码语言:javascript
复制
container.innerHTML = '<h3>追加内容为H3标签</h3>';

在原有内容的基础上添加:

以HTML为例:

代码语言:javascript
复制
container.innerHTML = container.innerHTML + '<h3>追加内容为H3标签</h3>';

也可以用 += 的写法:

代码语言:javascript
复制
container.innerHTML += '<h3>追加内容为H3标签</h3>';

创建元素及内容,添加到页面中:

创建元素 createElement ,创建内容 createTextNode ,添加元素 appendChild

代码语言:javascript
复制
var text = document.createTextNode("这是一段文字");
var ele = document.createElement("h3");//创建一个html标签
ele.appendChild(text);//在标签内添加文字
container.appendChild(ele);//将标签添加到页面中

删除元素:

移除元素 removeChild

通过获取id删除:

代码语言:javascript
复制
var idObject = document.getElementById('sidebar');
if (idObject != null){
    idObject.parentNode.removeChild(idObject);
}

通过获取class删除:

代码语言:javascript
复制
var paras = document.getElementsByClassName('paginator');
for(i=0;i<paras.length;i++){
    //删除元素 元素.parentNode.removeChild(元素);
    if (paras[i] != null)
        paras[i].parentNode.removeChild( paras[i]);
}

清空元素:清空一个元素,即删除一个元素的所有子元素

代码语言:javascript
复制
function removeAllChild()  {
    var div = document.getElementById("div1");
    while(div.hasChildNodes()) //当div下还存在子节点时 循环继续
    {
        div.removeChild(div.firstChild);
    }
}

原理很简单,就是不断的判断要清空的div还有没有子节点,有的话就删除一个子节点(这里是它的首个子节点),直到删除完毕为止。

封装的方法:

代码语言:javascript
复制
function removeElement(_element){
    var _parentElement = _element.parentNode;
    if(_parentElement){
        _parentElement.removeChild(_element);
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加元素:
    • 在元素内添加内容:
      • 在原有内容的基础上添加:
        • 创建元素及内容,添加到页面中:
        • 删除元素:
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档