主要是参考《精通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. 图片与文字在div里实现垂直水平都居中

    第一种方法,利用盒布局实现   <style type="text/css">/*盒布局实现图片与文字水平垂直居中*/ .div1{ width: 100%; heig ...

  2. 35个jQuery小技巧!

    1. 禁止右键点击$(document).ready(function(){    $(document).bind("contextmenu",function(e){     ...

  3. Android 混淆文件project.properties和proguard-project.txt

    参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359 http://glblong.blog.51cto.com/305861 ...

  4. 自学HTML5第一天(认识HTML5的全局属性)

    contextmenu 属性 规定 <div> 元素的上下文菜单.上下文菜单会在用户右键点击元素时出现.列子: <div contextmenu="mymenu" ...

  5. VB6.0 String 用法总结

    问题一 VB 去掉字符串的头尾的空格 使用trim() 如: trim(" hello world ")= "hello world" 问题二 判断一个字符串是 ...

  6. lua学习笔记(2)-常用调用

    assert(loadstring("math.max(7,8,9)"))dofile("scripts/xxx.lua")math.floor()math.r ...

  7. ListFragment和ListActivity的setOnItemClickListener不起作用

    在使用ListFragment时,发现一个奇怪的问题,就是getListView().setOnItemClickListener(new OnItemClickListener...)不起作用.在s ...

  8. 海康威视研究院ImageNet2016竞赛经验分享

    原文链接:https://zhuanlan.zhihu.com/p/23249000 目录 场景分类 数据增强 数据增强对最后的识别性能和泛化能力都有着非常重要的作用.我们使用下面这些数据增强方法. ...

  9. 基于本地iso 搭建的本地yum源 安装部署openldap

    1,yum openldap-servers,openldap-clients 基于iso-cd1搭建的本地yum源(具体搭建参看ruige的repo本地快速搭建,在右边 找找看中输入repo key ...

  10. 全国计算机等级考试二级教程-C语言程序设计_第11章_对函数的进一步讨论

    无论传递什么参数,函数都有副本机制 改变一个变量,需要传入变量的地址 改变一个指针变量,需要传入指针变量的地址 //int add(int a, int b);挖取函数声明 //int ()(int ...