JS动态创建元素的两种方法


Posted in Javascript onApril 20, 2016

本文为大家分享了js创建元素的两种方法供大家参考,具体内容如下

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>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
非常好的js代码
Jun 27 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
Dec 22 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
Feb 01 Javascript
js禁止回车提交表单的示例代码
Dec 23 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
vue实现简单学生信息管理
May 30 Javascript
JavaScript实现图片合成下载的示例
Nov 19 Javascript
canvas绘制折线路径动画实现
May 12 Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 #Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
Apr 20 #Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 #Javascript
JavaScript实现简单Tip提示框效果
Apr 20 #Javascript
JS实现消息来时让网页标题闪动效果的方法
Apr 20 #Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 #Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
Apr 19 #Javascript
You might like
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
PHP7匿名类用法分析
2016/09/26 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
PHP7 其他修改
2021/03/09 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python 函数传参之传值还是传引用的分析
2017/09/07 Python
Python上下文管理器和with块详解
2017/09/09 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
python3 logging日志封装实例
2020/04/08 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
银行优秀员工事迹
2014/02/06 职场文书
公司聘任书模板
2014/03/29 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
服务整改报告
2014/11/06 职场文书
借款民事起诉状范文
2015/05/19 职场文书
领导视察通讯稿
2015/07/18 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB