dom元素和方法总结
主要是参考《精通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元素和方法总结的更多相关文章
- JS添加或删除HTML dom元素的方法实例分析
本文实例讲述了JS代码添加或删除HTML dom元素的方法.分享给大家供大家参考,具体如下: 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...
- JS----获取DOM元素的方法(8种)
什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...
- Jquery DOM元素的方法
jQuery DOM 元素方法 函数 描述 .get() 获得由选择器指定的 DOM 元素. .index() 返回指定元素相对于其他指定元素的 index 位置. .size() 返回被 jQuer ...
- JS选取DOM元素的方法
摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今 ...
- JS获取HTML DOM元素的方法
JS获取HTML DOM元素有八种方法: 1.根据id获取标签元素: document.getElementById("id名"); 2.根据标签名获取标签列表: document ...
- 原生写一个一键获取所有DOM元素的方法
一天挺一个朋友去面试要做一个获取dom元素到数组中 主要用到一个递归算法,通过节点的childNodes属性--代码如下: function getAllNode() { var nodes = do ...
- vue1和vue2获取dom元素的方法
vue1.*版本中 在标签中加上el='dom',然后在代码中this.$els.dom这样就拿到了页面元素 例如:<div class='box' v-el: myBox>你好</ ...
- vue1和vue2获取dom元素的方法 及 nextTick() 、$nextTick()
vue1.*版本中 在标签中加上el='dom',然后在代码中this.$els.dom这样就拿到了页面元素 例如:<div class='box' el='myBox'>你好</d ...
- JQuery获取Dom元素的方法
(function (window) { var arr = []; var VP = function (selector, context) { return new VP.fn.init(sel ...
随机推荐
- (转载)iscroll.js的使用
入门 Scroll是一个类,每个需要使用滚动功能的区域均要进行初始化.每个页面上的iScroll实例数目在设备的CPU和内存能承受的范围内是没有限制的. 尽可能保持DOM结构的简洁.iScroll使用 ...
- Apache-Tomcat 和 Apache-Maven配置
1.1.下载安装文件 官网对应版本下载,例:apache-tomcat-8.0.35-windows-x64.zip 1.2.指定对应的安装目录: 例:D:\JavaSoft\apache-tomca ...
- Python爬虫:常用浏览器的useragent
1,为什么需要修改UserAgent 在写python网络爬虫程序的时候,经常需要修改UserAgent,有很多原因,罗列几个如下: 不同Agent下看到的内容不一样,比如,京东网站上的手机版网页和p ...
- MySql的一些问题
问题1:卸载重装mysql时,报1045和2003错误. 解决:点击skip,跳过这个错误.进到my.ini,在mysqld下面加一句:skip-grant-tables,保存.重启mysql服务,在 ...
- Android06-Fragment碎片
¨Fragment简介 ¨Fragment生命周期 ¨动态加载碎片Fragment Manager的使用 1.Fragment表示Activity中的一种行为或者一部分用户界面. 可以将Fragm ...
- 国标电表DLT645转MODBUS TCP协议转换器MRD-5021,工业设备,浪涌三级保护MRD
DL/T645转ModbusTcp协议转换器 MRD-5021具有1 路RS485及1路以太网接口,最多支持同时采集5个DL/T645-1997或者5个2007协议国标电表设备,支持DL/T645协议 ...
- C++临时对象销毁时间
下面这段代码会输出什么? const char* p = string("hello temprary string").c_str(); cout << p; 下面这 ...
- LInux 下安装jdk
安装jdk版本为1.6.0_12 一.下载jdk 下载地址:http://download.java.net/jdk6/ 选择Linux Platform jdk-6u12-linux-i586.bi ...
- Jquery html页面处理基础
1.怎样获得浏览器的可视高度? var windHight = $(window).height(); //获得浏览器的可视高度 2.怎样获得滚动条相对于顶部的高度? var scrollHi ...
- ByteBuffer用法总结
转自:http://blog.csdn.net/mars5337/article/details/6576417 在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChanne ...