浅析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 相关文章推荐
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
简介JavaScript中Math.LOG10E属性的使用
Jun 14 Javascript
Javascript实现字数统计
Jul 03 Javascript
jQuery实现的登录浮动框效果代码
Sep 26 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
vue嵌套路由与404重定向实现方法分析
May 04 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 Javascript
JS实现导航栏楼层特效
Jan 01 Javascript
解决Vue router-link绑定事件不生效的问题
Jul 22 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
基于mysql的bbs设计(五)
2006/10/09 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
JS实现音乐导航特效
2020/01/06 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
Python创建日历实例
2014/08/21 Python
详解在Python和IPython中使用Docker
2015/04/28 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
保险公司年会主持词
2014/03/22 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
开票员岗位职责
2015/02/12 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
在职证明范本
2015/06/15 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS