浅析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 onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
jQuery中 noConflict() 方法使用
Apr 25 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
jQuery Mobile框架中的表单组件基础使用教程
May 17 Javascript
VUEJS实战之利用laypage插件实现分页(3)
Jun 13 Javascript
Highcharts学习之数据列
Aug 03 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
微信小程序页面传值实例分析
Apr 19 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
VsCode与Node.js知识点详解
Sep 05 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查询快递信息的方法
2015/03/07 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
js实现简单计算器
2015/11/22 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
pandas带有重复索引操作方法
2018/06/08 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
python绘制趋势图的示例
2020/09/17 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
司法助理专业自荐书
2014/06/13 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS