介绍DOM1中底层的一些属性和方法。

节点操作

appendChild()

  parentNode.appendChild(newNode)  在parentNode节点的最后插入newNode

insertBefore()

  parentNode.insertBefore(newNode,someNode)  在parentNode节点里面的someNode节点前插入新节点newNode

replaceChild()

  parentNode.replaceChild(newNode,someNode)  在parentNode节点里面把someNode节点替换成newNode

removeChild()

  parentNode.removeChild(someNode)  在parentNode节点里删除指定的节点someNode

cloneNode()

  someNode.cloneNode(true)  创建someNode这个节点的副本,传一个参数,布尔值,true表示深复制,复制整个节点树。false表示浅复制,只复制节点本身。节点复制后,还需要使用appendChild,insertBefore等方法额外添加文档中。

document对象

document.documentElement属性指html元素

document.body属性指body元素

document.url  页面完整的url

document.domain    页面的域名

document.referrer   链接到当前页面的之前那个页面的url

document.getElementById(id)   根据ID查找元素,页面ID需唯一

document.getElementsByClassName(name)   查找class="name"的元素列表,返回HTMLCollection对象

document.getElementsByTagName(name)   根据标签名name查找的元素列表,返回HTMLCollection对象

document.getElementsByName(name)   根据name=“name”查找的元素列表,返回HTMLCollection对象

document.forms   文档中所有的表单

document.images  文档中所有的img标签

document.links   文档中所有带href的a标签

document.write()   文档中写入内容

Element类型

eg:elem为某个元素

elem.id    元素elem在文档中的id

elem.title   元素elem的title属性

elem.className   元素elem的class名称

elem.getAttribute(name)   获得元素elem的属性名为name的值,自定义属性需要通过getAttribute()方法来获得,其他情况通过使用对象的属性来获得,比如elem.title等。

elem.setAttribute(name,'value')  给元素elem设置属性为name的值,值为value

elem.removeAttribute(name)  彻底删除元素elelm的特性name

elem.childNodes    指该元素elem的所有子节点

elem.children   指该元素elem的所有元素子节点

document.createElement(tagName)   创建标签名为tagName的新元素节点

document.createTextNode(text)   创建新的文本节点,文本内容为经过html编码的text

elem.normalize()   将相邻文本节点合并的方法

elem.splitText(index)   与normalize()方法相反,将文本节点分开的方法。index为分开的文本的索引值。

DocumentFragment类型

DocumentFragment指文档片段,在文档中没有对应的标记,不占用额外资源。

document.createDocumentFragment()   创建文档片段

内容操作

elem.innerText    指该元素的所有文本内容

elem.textContent    跟innerText一样,兼容firefox,safari,opera,chrome

elem.innerHTML    返回当前元素elem的所有子节点的html代码

  在IE中,当用innerHTML插入script或style标签时,需要在前面加上标签,使其由作用域外的元素变为作用域内的元素。如:div.innerHTML = '<input type="hidden"><script defer>alert(\'aa\')</scri' + 'pt>';

  在chrome,safari中,需要将style标签添加到head元素中。document.head.appendChild(div);

elem.outerText

elem.outerHTML   写入时,这两个属性会修改调用它的元素

创建table表格

eg:

//创建table

var table = document.createElement('table');

table.border = 1;

table.width = '100%';

//创建tbody

var tbody = document.createElement('tbody');

table.appendChild(tbody);

//创建第一行

tbody.insertRow(0);

tbody.rows[0].insertCell(0);

tbody.rows[0].insertCell(1);

tbody.rows[0].cells[0].appendChild(document.createTextNode('cell 1.1'));

tbody.rows[0].cells[1].appendChild(document.createTextNode('cell 1.2'));

//创建第二行

tbody.insertRow(1);

tbody.rows[1].insertCell(0);

tbody.rows[1].insertCell(1);

tbody.rows[1].cells[0].appendChild(document.createTextNode('cell 2.1'));

tbody.rows[1].cells[1].appendChild(document.createTextNode('cell 2.2'));

DOM操作往往是JS程序开销中最大的部分,包括查询,重排重绘等,所以应尽量避免DOM的频繁操作。

JS 之DOM对象(1)的更多相关文章

  1. js的DOM对象

    1.js的Array对象           ** 创建数组(三种)                          - var arr1 = [1,2,3];                    ...

  2. JavaScript基础15——js的DOM对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. jQuery对象与JS原生dom对象之间的转换

    jQuery就是JS的一个扩展库,工具库,提供很多方便快捷的方法,所以将JS对象转换为jQuery对象后,能更方便地操作这个对象.但是jQuery对象也不是万能的,有一些JS对象有的能,jQuery对 ...

  4. js操作DOM对象

    js操作DOM对象  (Document Object Model)文档对象模型 nodeType返回值 1:元素节点 2:属性节点 3:文本节点 8:注释节点 9: 文档节点 nodeName 节点 ...

  5. js的dom对象(带实例超详细全解)

    js的dom对象(带实例超详细全解) 一.总结 一句话总结: 1.DOM中的方法区分大小写么? 解答:区分 2.DOM中元素和节点的关系式什么? 解答:元素就是标签,节点中有元素节点,也是标签,节点中 ...

  6. 前端之JavaScript:JS之DOM对象三

    js之DOM对象三   一.JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如    for(var i = 0;i<ele.length;i++){} 第二种:for ...

  7. 前端之JavaScript:JS之DOM对象二

    继续JS之DOM对象二 前面在JS之DOM中我们知道了属性操作,下面我们来了解一下节点操作.很重要!! 一.节点操作 创建节点:var ele_a = document.createElement(' ...

  8. 前端之JavaScript:JS之DOM对象一

    js之DOM对象一 一.什么是HTML  DOM HTML  Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 ...

  9. 转:js包装DOM对象

    我们在日常的应用中,使用Javascript大多数时间都是在用DOM ,以致于很多人都有一种看法就是DOM==JS,虽然这种看法是错误的,但是也可以说明DOM的重要性. 这就导致了我们在写JS的时候, ...

  10. 继续JS之DOM对象二

    前面在JS之DOM中我们知道了属性操作,下面我们来了解一下节点操作.很重要!! 一.节点操作 创建节点:var ele_a = document.createElement('a');添加节点:ele ...

随机推荐

  1. 【转】IOS中各种常用控件的默认高度,很全

    1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图   用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半 ...

  2. java 之 file类的一些方法

    File类: File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成.但是File不能访问文件内容本身. 访问文件和目录: 1. ...

  3. 深入理解java虚拟机(4)---类加载机制

    类加载的过程包括: 加载class到内存,数据校验,转换和解析,初始化,使用using和卸载unloading过程. 除了解析阶段,其他过程的顺序是固定的.解析可以放在初始化之后,目的就是为了支持动态 ...

  4. MongoDb的bin目录下文件mongod,mongo,mongostat命令的说明及使用

    MongoDB的下载地址:http://www.mongodb.org/downloads. 下载好直接解压安装包,即可使用. bin目录下的几个文件说明: mongo 客户端程序,连接MongoDB ...

  5. 团队管理_效率开会[持续更新ing]

    1.明确开会目的,这个会议是用来解决什么问题,得出什么结果. 2.明确会议内容与流程,简要说明会议分几个部分,一步一步推进会议的进行. 3.保证参会人员守时参加,会议准时开始. 4.保证会议时间尽量为 ...

  6. (Ios 实战) 自定义UITableView

    自定义UITableView 分成两个部分 1 自定义UITableViewCell 继承UITableViewCell,同时提供接口,根据当前的数据,现实View 2  在UITableView中实 ...

  7. 单点登录系统(SSO)之CAS(中央认证服务)

    SSO(Single Sign On)单点登录系统,是在多个系统中值要求只要登录一次,就可以用已登录的身份访问多个系统,去掉了每次访问不同的系统都要重新登录的弊端. CAS(中央/集中认证服务):Th ...

  8. mongo学习笔记(六):linux上搭建

    linux分以下几台 monogos mongocfg mongod1 mongod2 1.用ssh把 mongodb-linux-x86_64-3.0.6.tgz 移到linux /root上 2. ...

  9. 读书笔记——Windows核心编程(2)禁止C运行时触发的所有Debug Assertion Failed对话框

    1 定义一个函数 void _invalid_parameter( const wchar_t * expression, const wchar_t * function, const wchar_ ...

  10. Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入

    本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性sett ...