我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性。比方说我们想要建立一個 div 层,则可以使用以下代码实现。

一.直接建立
function Button1_onclick() //直接采用代码建立一个DIV
{
    var newElement = document.createElement('div'); 
    var newText = document.createTextNode('这是新建立 div 中的文字。'); 
    document.body.appendChild(newElement); //漏了这一句,否则行不通 
    newElement.id = 'newDiv'; 
    newElement.className = 'newDivClass'; 
    newElement.setAttribute('name ','newDivName'); 
    newElement.style.width = '300px'; 
    newElement.style.height = '200px'; 
    newElement.style.margin = '0 auto'; 
    newElement.style.border = '1px solid #DDD'; 
    newElement.appendChild(newText);  
}

二.把建立新对象写成一个通用方法,增加其通用性
createEl = function(t, a, y, x)//编写建立一个新对象的通用方法

    var e = document.createElement(t); 
    document.body.appendChild(e); //漏了这一句,否则行不通 
    if (a) { 
        for (var k in a) { 
            if (k == 'class') e.className = a[k]; 
            else if (k == 'id') e.id = a[k]; 
    else e.setAttribute(k, a[k]); 
    } 
    } 
    if (y) { for (var k in y) e.style[k] = y[k]; } 
    if (x) { e.appendChild(document.createTextNode(x)); } 
    return e; 
}

//再通过以下方法来进行调用建立一个新层
function Button2_onclick() //先把建立一个新的DIV的方法写成一个通用方法,然后通过调用方法实例化建立DIV
{
    var newElement = createEl('div', 
    {'class': 'newDivClass', id: 'newDiv', name: 'newDivName'},
    {width: '300px', height:'200px', margin:'0 auto', border:'1px solid #DDD'}, 
    '这是新建立div 中的文字。');

}

怎看之下这两个方法似乎使用了较长的代码块来达成相同的目的,其实不然,不过createEI这个通用方法实用性要强的多,在建立同类对象时性能会好的多。

转载于:https://www.cnblogs.com/7qin/p/9607272.html

简化document.createElement(div)动态生成层方法相关推荐

  1. document.createElement

    document.createElement()的用法 document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合 ...

  2. 操作DOM节点:document.createElement、appendChild、insertBefore、removeChild、replaceChild、cloneNode()

    ● 我们所说的操作无非就是增删改查: ● 创建一个节点以后,我们还需要将这个节点插入到另外的节点里面,不然就仅仅是创建了: ● 增:向页面中增加一个节点,首先要创建一个节点,然后再插入到页面中 ● 删 ...

  3. 动态加载js文件 document.createElement

    var Rash=true; var msg=""; function norash() { if (confirm("确定要取消吗")) Rash=false ...

  4. JS动态加载脚本及对动态脚本内方法的调用

    JS动态加载脚本及对动态脚本内方法的调用 摘要 JS动态加载脚本及对动态脚本内方法的调用 JS 动态 添加脚本 按需加载 首先我们需要一个被加载的js文件,我在一个固定文件夹下创建了一个package ...

  5. document.createElement()的用法

    document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用.其中,appendChild() 方法在节点的子节 ...

  6. document.getElementsByName , document.getElementsByTagName ,document.createElement

    document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用.其中,appendChild() 方法在节点的子节 ...

  7. 可拖动DIV层的实现方法

    可拖动DIV层的实现方法 这几天做了一个英文单词搜索的谷歌扩展,其中的划词搜索功能会产生一个可托拖动的DIV层来作为结果显示,为了做一个较为完善的拖动层,花费了很长时间进行设计与调试.在此把心得总结了 ...

  8. js添加多个子节点_JS创建DOM节点-使用document.createElement()创建子节点或同级节点...

    在一个Web页面中,需要弹出一个提示信息显示给用户.基于这个需求,要使用document.createElement()创建一个DOM节点.创建完节点后,还要使用appendChild()或inser ...

  9. 动态生成控件的消息处理

    动态生成控件的消息处理 www.diybl.com 时间:2008-04-26 作者:佚名 编辑:本站 点击: 159 [评论] 今天用MFC做了一个动太生成控件的小程序,有关生成的控件 在网上查了一 ...

最新文章

  1. mongodb安装失败与解决方法(附安装教程)
  2. 服务器多难管理怎么办?给你一个服务器批量管理工具
  3. 可动态扩展的数据库模型设计
  4. 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
  5. HDU 5730 Shell Necklace(生成函数 多项式求逆)
  6. 【含内推码】字节跳动智能创作2022秋招提前批全面开启!
  7. jps命令 Java Virtual Machine Process Status Tool
  8. 关于bootstrap-table服务端分页问题
  9. Java 技术体系(JDK 与 JRE 的关系)、POJO 与 JavaBeans
  10. android 截屏 分享,Android应用内截图分享的实现记录
  11. Golang 入门 : Go语言介绍
  12. PCB板设计流程总结
  13. 从底层谈webgis原理设计与实现(二)探究本质,WebGIS前端地图显示之地图比例尺换算原理...
  14. eas表单分录带出自定义核算项目
  15. 1024 程序员节狂欢盛会,等了一年终于来了!
  16. python display方法_Python display.Image方法代码示例
  17. WPS2007去广告
  18. win10如何使用WinSAT测试体验指数
  19. 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐蚀和膨胀操作
  20. Java 本地内存 直接内存 元空间

热门文章

  1. JS中简单数据类型和复杂数据类型
  2. 【王道操作系统笔记】操作系统的概念,功能和目标
  3. 【java笔记】File类(3):FileFilter文件过滤器原理和使用
  4. PYTHON笔记 面向对象程序设计
  5. LeetCode 230二叉搜索树中第k小的元素
  6. oracle分段分组函数,Oracle增强型分组函数
  7. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(6)签到题2题
  8. 【NCRE】2020年9月全国计算机等级考试,计算机二级MS Office高级应用划水贴
  9. php期末考试题机考_phP基础知识期末考试题.doc
  10. tbopen链接生成工具_筛选了100个配色工具后,我挑出了这25个