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 相关文章推荐
一个加密JavaScript的开源工具PACKER2.0.2
Nov 04 Javascript
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
使用jQuery制作基础的Web图片轮播效果
Apr 22 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
React组件生命周期详解
Jul 03 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
浅谈VUE中演示v-for为什么要加key
Jan 16 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
深入浅析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中文件缓存转内存缓存的方法
2011/12/06 PHP
关于svn冲突的解决方法
2013/06/21 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
Vue组件化开发思考
2018/02/02 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python 创建空的list,以及append用法讲解
2018/05/04 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
Django框架 信号调度原理解析
2019/09/04 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
恶意软件的定义
2014/11/12 面试题
院药学专业个人求职信
2013/09/21 职场文书
平民服装店创业计划书
2014/01/17 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
联片教研活动总结
2014/07/01 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
农村党员干部承诺书
2015/05/04 职场文书
公司年会开场白
2015/06/01 职场文书
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python