主要是参考《精通javascript》。

全局变量有:

document。这个变量包含浏览器的html dom文档的引用。

HTMElement

这个变量是所要html dom 元素的超类对象,扩展这个变量的原型prototype就可以扩展所有的html dom元素。

HTMLElement.prototype.newFunciton=function() {.......};

dom操作如下:

body document.body直接执行body元素。

getElementById

getElementsByTagName

childNodes. 下面展示了如何使用childNodes属性为一个父元素的所有子元素增加样式

var c=document.body.childNodes;

for(var i=0;i<c.lenght;i++{

if(c[i].nodeType==1)//确保该节点是一个元素

c[i].style.border="1px solid red";

documentElement         指向的是html。

firstChild            指向第一个子元素,如果元素没有子节点,则firstChild为null。

从一个元素中删除所有子节点

var e=document.getElementById("body");

while(e.firstChild)

e.removeChild(e.firstChild);

lastChild 如果不存在子节点,则为null。

下面演示了使用lastChild来为文档插入元素的例子:

创建一个新的div元素并插入到body最后一个元素之前

var n=document.createElement("div");

n.innerHTML=“thanks for visiting!";

document.body.insertBefore(n,document.body.lastchild);

nextSibing 指向下一个兄弟节点

parentNode

previousSibing

dom操作属性

className

getAttribute(attrName)

removeAttribute(attrNmame) 同setAttribute(atrr,"");设置为空字符串一样。

setAttrbute(atrr,value)

dom修改

appendChild appendchild必须在你所期望追加的元素上调用。

cloneNode(true|false)

该方法将复制并返回调用它的节点的副本。如果传递给它的参数是 true,它还将递归复制当前节点的所有子孙节点。否则,它只复制当前节点。

查找文档的第一个ul元素,完全复制它,并追加到ul之后

var ul=document.getElementsByTagName("ul")[0];

//clone节点并追加到旧元素的后面

ul.parentNode.appendChild(ul.cloneNode(true) );

createElement(tagNasme)

createElementNS

createTextNode(textString)

innerHTML

insertBefore(nodeToInsert,nodeToInsertBeforE)

这是一个用来在文档任意地方插入dom节点函数,该函数必须在你希望插入到前面元素的父元素上调用

经常这么用

elem.parentNode.insertBefore(newNode,ul);

removeChild(nodeToremvoe); 该函数必须在你希望删除节点的父元素上调用。

div.parentNode.removeChild(div);

replaceChild(noteToInsert,nodeToRepalce); 该函数必须在你需要替换的节点的父元素上调用。

//查找文档中的所有<a>连接
var a=document.getElementsByTagName("a");
for(var i=0;i<a.length;i++)
{
//创建一个strong对象
var s=document.createElement("strong"); //使内容为<a>的url
s.appendChild( document.createTextNode( a[i].href ) ); //使用<strong>元素替换<a>元素
a[i].parentNode.replaceChild(s,a[i]);
}

原书上有错误,写的是a[i].replacechild(s,a[i]); 错误之处在于replaceChild必须在被替换元素的父元素上调用。

dom元素和方法总结的更多相关文章

  1. JS添加或删除HTML dom元素的方法实例分析

    本文实例讲述了JS代码添加或删除HTML dom元素的方法.分享给大家供大家参考,具体如下: 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...

  2. JS----获取DOM元素的方法(8种)

    什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...

  3. Jquery DOM元素的方法

    jQuery DOM 元素方法 函数 描述 .get() 获得由选择器指定的 DOM 元素. .index() 返回指定元素相对于其他指定元素的 index 位置. .size() 返回被 jQuer ...

  4. JS选取DOM元素的方法

    摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今 ...

  5. JS获取HTML DOM元素的方法

    JS获取HTML DOM元素有八种方法: 1.根据id获取标签元素: document.getElementById("id名"); 2.根据标签名获取标签列表: document ...

  6. 原生写一个一键获取所有DOM元素的方法

    一天挺一个朋友去面试要做一个获取dom元素到数组中 主要用到一个递归算法,通过节点的childNodes属性--代码如下: function getAllNode() { var nodes = do ...

  7. vue1和vue2获取dom元素的方法

    vue1.*版本中 在标签中加上el='dom',然后在代码中this.$els.dom这样就拿到了页面元素 例如:<div class='box' v-el: myBox>你好</ ...

  8. vue1和vue2获取dom元素的方法 及 nextTick() 、$nextTick()

    vue1.*版本中 在标签中加上el='dom',然后在代码中this.$els.dom这样就拿到了页面元素 例如:<div class='box' el='myBox'>你好</d ...

  9. JQuery获取Dom元素的方法

    (function (window) { var arr = []; var VP = function (selector, context) { return new VP.fn.init(sel ...

随机推荐

  1. wampserver配置memcache

    我用的环境是win7 64位的操作系统,wampserver也是64位,版本是2.5的,其中带的php版本是5.5的. 配置memcache的步骤: 第一步,先下载memcahed.exe和php_m ...

  2. C语言程序设计(翁恺)--第二周课件中的两个遗留点

    看完课件,发现其中有几个点是老师上课没点破的,或者是留到讨论区的,自己想了想答案,总结一下这些问题 第二周:计算 1.关于const的描述中提到:“如果试图对常量做修改,把它放在赋值运算符的左边,就会 ...

  3. Oracle EBS-SQL (PO-1):检查供货比例异常.sql

    select distinct msr.sourcing_rule_name                     名称 , msi.description                      ...

  4. 非GUI-Qt程序运行后显示Console(简单好用)

    ----我的生活,我的点点滴滴!! 有很多时候,我们在程序中添加了好Debug信息,方便程序在运行期间打印出一些我们需要的信息或者,想用他来显示一些必要信息时, 那么console就太重要了,曾几何时 ...

  5. docker 容器管理常用命令

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...

  6. Unix/Linux环境C编程入门教程(20) 搭建基于Mac的 Xcode 与 QT 开发环境

    1.启动 Vmware,如果没有 VMware 的同学,请看前面我们搭建 VMware 的视频 2.打开虚拟机以后,出现虚拟机界面 3 新建一个虚拟机 4 选择自定义,单击下一步 5 选择默认的 VM ...

  7. Windows系统的线程调度与软件中断分发

    在Windows操作系统内核把软件中断分为三个中断级别:DISPATCH_LEVEL,APC_LEVEL,PASSVIE_LEVEL.同时他们与线程的调试相关,WINDOWS内核中没有一个专门的程序来 ...

  8. 改动网卡IP信息

    改动网卡IP信息的情况有非常多种,只是从大体上能够分为两种,一种是暂时改动,重新启动网络服务后改动便会失效:一种是永久改动,重新启动网络服务后才会生效.一般暂时改动应用在暂时的动作中,我们通过分类名字 ...

  9. Protobuf-net基础

    本文在于巩固基础 先了解什么是protobuf Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法.它比xml格式要少的多, ...

  10. NET 人民币大写

    /***** HongShijin** Me@HongShijin.com** 2009-3-15 10:13:00.00000** text/C#***/ /// <summary> / ...