浅析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 相关文章推荐
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
IE与FireFox的JavaScript兼容问题解决办法
Dec 31 Javascript
javascript中with()方法的语法格式及使用
Aug 04 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
jQuery实现TAB选项卡切换特效简单演示
Mar 04 Javascript
最丑的时钟效果!js canvas时钟制作方法
Aug 15 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
p5.js临摹动态图形实现方法详解
Oct 23 Javascript
JS如何把字符串转换成json
Feb 21 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
详解Python sys.argv使用方法
2019/05/10 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
如何使用repr调试python程序
2020/02/28 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
高中的自我鉴定
2013/12/16 职场文书
关于礼仪的演讲稿
2014/01/04 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
《植树问题》教学反思
2016/03/03 职场文书
创业计划书之便利店
2019/09/05 职场文书
600字作文之感受大自然
2019/11/27 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis