主要是参考《精通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. $.Event 你不知道的用法

    最近在使用Bootstrap.js,一不小心趴开源码看了一下,尤其是看到tab.js var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $ ...

  2. php 截取字符串

    /** * 方法库-截取字符串-[该函数作者未知] * @param string $string 字符串 * @param int $length 字符长度 * @param string $dot ...

  3. JQeury Image LazyLoad

    使用jquery插件实现图片延迟加载技术 http://www.cnblogs.com/szytwo/archive/2012/12/27/2836141.html EasyUI http://www ...

  4. Delphi多线程数据库查询(ADO)

    ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoIniti ...

  5. 2014第13周四Webservice概念问题记

    晚上回来看网页学习了这两天一直疑惑的两个问题: 1.REST和SOAP架构下的Webservice的区别? 2.axis2和CXF的区别. 大部分是理论,暂时摘录一下,以后有更多实践后再回顾. 一.R ...

  6. 将Controller中的数据传递到View中显示

    如何将Controller 中的数据传送到View 步骤: (1)要有数据,如果要用到对象可以在Model 中定义对应的类 (2)要有装数据的容器: System.Text.StringBuilder ...

  7. SRM 581 D2 L2:SurveillanceSystem,重叠度

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12588 在判断 ‘+’ 的时候使用了 重叠度 的概念,跟一般的 ...

  8. python 生成器理解

    通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素 ...

  9. CSS技巧和犯错点总结

    4.14 CSS  background属性简写: background-position属性组合方式:[ left | center | right ] || [ top | bottom ] (组 ...

  10. 关于css3中before与after用单冒号还是双冒号的疑虑

    在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写.