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 相关文章推荐
XENON基于JSON变种
Jul 27 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
Bootstrap基础学习
Jun 16 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
React应用中使用Bootstrap的方法
Aug 15 Javascript
Vue 进入/离开动画效果
Dec 26 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
Sep 27 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 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
搜索引擎技术核心揭密
2006/10/09 PHP
PHP教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
python分析网页上所有超链接的方法
2015/05/08 Python
python更新列表的方法
2015/07/28 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Python实现仿射密码的思路详解
2020/04/23 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
UML设计模式笔试题
2014/06/07 面试题
房地产管理毕业生自荐信
2013/11/04 职场文书
村委会换届选举方案
2014/05/03 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
财务负责人岗位职责
2015/02/03 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
小学教学工作总结2015
2015/05/13 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
Python采集壁纸并实现炫轮播
2022/04/30 Python