JS DOM知识点

DOM(document Object Model)文档对象模型

childNodes有兼容性问题,需要nodeType兼容
alert(child.nodeType) chrome ,firfox IE9【7】 IE8【3】
if(child.nodeType==1){}

获取和设置内容,属性,样式
length 【数组的长度】
value 【获取设置input的内容】
innerHTML【支持HTML标签,所以隐藏】
inneText 【不支持HTML标签,所以显示h1】

obj.getAttritude("atriName")
obj.setAttritude("atriName","attrValue")

obj.style.styleName;
obj.className="active";

获取元素的样式
getComputedStyle(obj,false)["attr"] //chrome ,safari
obj.currentStyle["attr"] //IE8以下

节点类型主要有三种:元素节点,属性节点,文本节点
节点类型 nodeName nodeType nodeValue
元素 元素名称 1 null
属性 属性名称 2 属性值
文本 #text 3 文本内容(不包含html标签)

DOM操作是围绕元素节点和属性节点的增删改查

【查找节点】
【在对DOM进行增删改之前,首先要找到对应的元素】
var body=document.body
var header=document.getElementByid("header");
var inputs=header.getElementsByTagName("input");【input必须在id为header的标签里边】
【H5新增选择器:IE8不支持】
document.getElementByClassName("footer");
document.querySelector("#header/.header/div/#header>div") 【CS支持的选择器,她都支持】【返回第一匹配的元素】
document.querySelectorAll("#header/.header/div/#header>div")【index】【CS支持的选择器,她都支持】【返回所有匹配的元素数组】

同时可以利用元素节点的关系获取它的父子节点和兄弟节点

node.parentNode //返回父节点

node.childNodes //返回子节点列表NodeList,
node.firstChild //返回父节点的第一个子节点
node.lastChild //返回父节点的最后一个子节点
node.previousSibling //返回前一个节点
node.nextSibling //返回后一个节点
【兼容性问题】
chrome/firfox/IE9:
previousElementSibling, nextElementSibling
firstElementChild, lastElementChild
IE8:
previousSibling, nextSibling
firstChild, lastChild
【为了兼容IE8,div.firstChild.innerHTML必须先放在前边】
alert(div.firstChild.innerHTML || div.firstElementChild.innerHTML )

【增加节点】
创建元素节点
var create=document.createElement("p");
创建文本节点
var text=document.createTextNode("hello")
复制节点
var clone=node.cloneNode(true/false)
true:复制该节点以及该节点的所有子节点
false:只能复制该节点,
插入节点
parentNode.appendChild(node) //将新节点追加到父节点的末尾
parentNode.insertBefore(newNode,targetNode)//将新节点插到目标节点之前
替换节点
parentNode.replace(newNode,targetNode) //用新节点替换目标节点

【删除节点】
parentNode.removeChild(targetNode)//删除目标节点
targetNode.parentNode.removeChild(targetNode)//在不知道父节点的情况下使用

时间: 2024-11-01 15:49:18

JS DOM知识点的相关文章

js基础知识点总结

js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性HTML:属性.HTML属性="值":CSS:对象.style.CSS属性="值"; class和f

JS DOM(文档对象模型)与BOM(浏览器对象模型)

在JS中,对DOM(Document Object Model)对象和BOM(Browser Object Model )对象的操作是非常重要的内容.DOM主要包括HTML文档的属性和方法,像对HTML节点的操作,CSS的操作和HTML事件的监听和处理.BOM不要包括浏览器相关的一些属性和方法. DOM知识点1.改变页面的元素和属性a.获取元素的方法:document.getElementById()document.getElementsByTagName()document.getEleme

JS重要知识点

这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原理(包括三个段落): 函数相关(包括 函数传参,带参数函数的调用方式,闭包): 面向对象(包括 对象创建.原型链,数据类型的检测,继承). JS代码预解析原理 /****************** JS代码预解析原理 ******************/ /* JS代码预解析.变量作用域.作用域

JS DOM与BOM

DOM知识点 [DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API).DOM代表着被加载到浏览器窗口里的当前网页:浏览器向我们提供了当前网页的地图(或者说模型),而我们可以通过js去读取这张地图.作者:一只斗牛犬链接:http://www.imooc.com/article/36780来源:慕课网] 1.改变页面的元素和属性 a.获取元素的方法: document.getElementById() document.getElementsByTagName() documen

JS DOM编程艺术的学习—— JS学习笔记2015-7-5(第76天)

由于看高程3卡住了,所以现在在学习JS DOM编程艺术来巩固基础: 一.在看JS DOM 编程艺术的时候,有个作者提到的方法很实用, 就是在JS中变量和函数的命名方法:  变量的命名方法为使用下划线,比如: var temp_color = ['red','blue']; 函数就使用驼峰法,比如: function current_date(){}; 这样的习惯可以帮助理解,提高可读性,在理解变量和函数名的时候就很方便了: 二.还有个收获就是关于“对象”的理解又加深了 之前对于什么对象的属性,对

js DOM 扩展

1. 选择符API querySelector()          返回匹配的第一个元素,接收一个 CSS 选择符.没有找到返回 null. querySelectorAll()      返回所有匹配的一个 NodeList, 这是一个快照不会动态改变.接收一个 CSS 选择符. mathesSelecttor()      如果调用元素与该选择符匹配,返回true, 否则返回 false. 接收一个 CSS 选择符. 2. 与类相关的扩充 getElementsByClassName()

js基础知识点收集

js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // number console.log(typeof('abc')); // string console.log(typeof(true)); // boolean console.log(typeof([])); // object console.log(typeof(function (

JS DOM编程艺术——JS图片库—— JS学习笔记2015-7-8(第79天)

DOM是一种适用于多种环境和多种程序设计语言的通用型API. 如果想要把本书(JS DOM编程艺术)学到的DOM技巧运用在web浏览器以外的应用环境里,严格遵守“第1级DOM”能够让你避免与兼容性有关的任何问题: tips:setAttribute是第1级DOM; 图片切换初级js: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/

JS DOM 编程艺术 随笔

DOM 最大的作用就是将整个文档通过节点树来展现.通过类似方法可以获取特定节点,并绑定js方法实现与人的交互. 1.通过dom方法,获取页面的元素(getElementsByTagName/id,通过class(getAttribute))2.获取元素之后,为他们绑定行为(点击/其他)的处理事件3.最后把所有函数绑定到window.onload()函数上面去 onload = function(){function1function2...} plus 小技巧: <a onclick=>函数