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 相关文章推荐
jquery pagination插件实现无刷新分页代码
Oct 13 Javascript
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
javascript中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
Js中的onblur和onfocus事件应用介绍
Aug 27 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
轻松理解JavaScript闭包
Mar 14 Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 Javascript
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
JavaScript原型链与继承操作实例总结
Aug 24 Javascript
微信小程序实现录音Record功能
May 09 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 源代码压缩小工具
2009/12/22 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
简单实现Python爬取网络图片
2018/04/01 Python
python执行精确的小数计算方法
2019/01/21 Python
python如何实现代码检查
2019/06/28 Python
Python requests获取网页常用方法解析
2020/02/20 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
爱普生美国官网:Epson美国
2018/11/05 全球购物
售后专员岗位职责
2013/12/08 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
法制宣传月活动总结
2014/04/29 职场文书
担保书范本
2015/01/20 职场文书
销售员自我评价
2015/03/11 职场文书
2015年采购工作总结
2015/04/10 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
git stash(储藏)的用法总结
2022/06/25 Servers