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浏览器选项卡效果
Aug 25 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
Aug 29 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
快速实现jQuery多级菜单效果
Feb 01 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
May 19 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
Jul 20 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
深入浅析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
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
php的socket编程详解
2016/11/20 PHP
php头像上传预览实例代码
2017/05/02 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
广播体操比赛口号
2014/06/10 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书