浅析JS动态创建元素【两种方法】


Posted in Javascript onApril 20, 2016

前言

创建元素有两种方法

      1)将需要创建的元素,以字符串的形式拼接;找到父级元素,直接对父级元素的innnerHTML进行赋值。

      2)使用Document、Element对象自带的一些函数,来实现动态创建元素(创建元素 => 找到父级元素 => 在指定位置插入元素)

 

一、字符串拼接形式

    为了更好的理解,设定一个应用场景。

    随机生成一组数字,将这组数据渲染为条形图的形式,放在div[id="container"]中,如下图

    浅析JS动态创建元素【两种方法】   

<div id="container">
 </div>
 <script>
   window.onload = function () {
     var str='';
     for(var i=0; i<30 ;i++){
       var r = parseInt(Math.random()*100); //随机生成一个数字
       str += '<div>'+r+'</div>'; //拼接str
     }
     document.getElementById('container').innerHTML=str;
   }
 </script>

 二、使用Document、Element对象自带的一些函数

       也设定一个应用场景,如下图

       获取input中的信息,根据右边的按钮,分别插入到下方红色矩形的左边或者右边。

       浅析JS动态创建元素【两种方法】

       解决思路分三步

  1. 创建元素:Document.createElement()
  2. 找到父级元素 :可以通过Id、name、标签名、class、匹配指定的css选择器
  3. 在指定位置插入元素:element.appendChild()、element.insertBefore()       

 实现代码:        

<div id="div-input">
  <input type="text" id="txt_input" value="4"/>
  <input type="button" id="leftInsert" value="左侧入" />
  <input type="button" id="rightInsert" value="右侧入" />
</div>
<div id="container">
  <span>1</span>
  <span>2</span>
  <span>3</span>
</div>
 <script>
   window.onload = function () {
     var inputValue= document.getElementById('txt_input').value;
     document.getElementById('leftInsert').onclick=function(){
       //左侧入
       var span = document.createElement('span'); //1、创建元素
       span.innerHTML=inputValue;
       var container = document.getElementById('container'); //2、找到父级元素
        container.insertBefore(span,container.childNodes[0]);//插入到最左边
     }
     document.getElementById('rightInsert').onclick=function(){
       //右侧入
       var span = document.createElement('span'); //1、创建元素
       span.innerHTML=inputValue;
       var container = document.getElementById('container'); //2、找到父级元素
       container.appendChild(span); //3、在末尾中添加元素
     }
   }
 </script>

以上这篇浅析JS动态创建元素【两种方法】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery获取对象的方法足以应付常见的各种类型的对象
May 14 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
把Node.js程序加入服务实现随机启动
Jun 25 Javascript
jquery实现网站列表切换效果的2种方法
Aug 12 Javascript
AngularJS Toaster使用详解
Feb 24 Javascript
jQuery 实现双击编辑表格功能
Jun 19 jQuery
vue-resource 拦截器(interceptor)的使用详解
Jul 04 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 Javascript
详细介绍Next.js脚手架完整搭建封装
Apr 26 Javascript
纯JS代码实现一键分享功能
Apr 20 #Javascript
JavaScript动态生成二维码图片
Apr 20 #Javascript
JS动态创建元素的两种方法
Apr 20 #Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 #Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
Apr 20 #Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 #Javascript
JavaScript实现简单Tip提示框效果
Apr 20 #Javascript
You might like
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
Vue实现多页签组件
2021/01/14 Vue.js
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python3 能振兴 Python的原因分析
2014/11/28 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Python如何发布程序的详细教程
2018/10/09 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python自定义一个异常类的方法
2019/06/27 Python
Python多线程多进程实例对比解析
2020/03/12 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
工业设计专业推荐信
2013/10/29 职场文书
自荐书范文
2013/12/08 职场文书
美德少年事迹材料
2014/01/23 职场文书
学籍证明模板
2014/11/21 职场文书