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 学习笔记 错误处理
Jul 30 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
JQuery实现table行折叠效果以JSON做数据源
May 26 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
关于vue-router路径计算问题
May 10 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
迅速了解一下ES10中Object.fromEntries的用法使用
Mar 05 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
微信小程序新闻网站详情页实例代码
Jan 10 Javascript
12 种使用Vue 的最佳做法
Mar 30 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 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字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
JavaScript中的return语句简单介绍
2015/12/07 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python选择网卡发包及接收数据包
2019/04/04 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
自荐书模板
2013/12/15 职场文书
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
企业标语口号
2014/06/10 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
2015年保管员工作总结
2015/04/30 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android