浅析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 相关文章推荐
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
微信小程序scroll-view组件实现滚动动画
Jan 31 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
Nov 13 Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 Javascript
Element InfiniteScroll无限滚动的具体使用方法
Jul 27 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编程网上资源导航
2006/10/09 PHP
php批量删除数据
2007/01/18 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
javascript每日必学之封装
2016/02/23 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
npm qs模块使用详解
2020/02/07 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python中static相关知识小结
2018/01/02 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
Python解析微信dat文件的方法
2020/11/30 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
文体活动总结范文
2014/05/05 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
基层党支部承诺书
2015/04/30 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书