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 相关文章推荐
跨域传值即主页面与iframe之间互相传值
Dec 09 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
jquery判断当前浏览器的实现代码
Nov 07 Javascript
分享纯手写漂亮的表单验证
Nov 19 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
Webpack执行命令参数详解
Jun 17 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
Oct 20 Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 Javascript
原生js实现each方法实例代码详解
May 27 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 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中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
python实现彩票系统
2020/06/28 Python
Django 路由系统URLconf的使用
2018/10/11 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
详解python对象之间的交互
2020/09/29 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
美国电视购物:QVC
2017/02/06 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
人事主管的岗位职责
2013/11/16 职场文书
博士研究生自我鉴定范文
2013/12/04 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
前处理班长职位说明书
2014/03/01 职场文书
Python激活Anaconda环境变量的详细步骤
2021/06/08 Python
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技