1、textarea、select、input必须同时有id和name
2、每个节点都有两个属性:
nodeName和nodeType
但只有文本节点才会有nodue值
3、相关一系列节点的获取方式:
var p = document.getElementByIdx_x("pnode");
父节点:
p.parentNode
子节点的数组集合:
p.childNodes,不兼容,尽量不用
此数组下有:firstChild和lastChild
文本节点:
分清:nodue 文本节点内容
value 文本框内容
兄弟节点:
sibling:英译为,兄弟姐妹
后一个 p.nextSibling
前一个的名字 p.previousSibling.nodeName
注意:
不要跳太多层,也就是不要过多的使用兄弟节点
注意:
寻找时相对的,document对象是在整个文档里找所有的,而通常是只在某个对象里找
getElementsByName:
返回数组
专门用于处理radio和checkbox
getElementsByTagName:
返回数组
根据标签名找
a():
追加和挂起元素到子节点
insertBefore():
插入到前面,相对于a()
ul.insertBefore(li,ul.firstChild) 把li插入到ul.firstChild的前面
添加标签属性:
方法一:a.href="http://www.qq.com" 这样写最通用
方法二(不兼容):a.setAttribute("href","http://www.qq.com" )设置属性
a.getAttribute("href")获取属性
克隆节点:
cloneNode()
参数true深度克隆(克隆节点以及节点下的全部内容),参数false或没有为浅度克隆(只克隆当前节点)
var li = ul.firstChild.cloneNode(true)
删除节点:
removeChild()
if(ul.hasChildNodes){
//先判断后删除
ul.removeChild(ul.firstChild)
}
innerHTML:
快捷插入元素
ul.innerHTML+=“<li><a>谢特</a></li>”
所有的浏览器都支持
但是IE不支持的两个地方:select标签和table(不能往table里塞,但是可以可以吧table放到div往里塞)
2、每个节点都有两个属性:
nodeName和nodeType
但只有文本节点才会有nodue值
3、相关一系列节点的获取方式:
var p = document.getElementByIdx_x("pnode");
父节点:
p.parentNode
子节点的数组集合:
p.childNodes,不兼容,尽量不用
此数组下有:firstChild和lastChild
文本节点:
分清:nodue 文本节点内容
value 文本框内容
兄弟节点:
sibling:英译为,兄弟姐妹
后一个 p.nextSibling
前一个的名字 p.previousSibling.nodeName
注意:
不要跳太多层,也就是不要过多的使用兄弟节点
注意:
寻找时相对的,document对象是在整个文档里找所有的,而通常是只在某个对象里找
getElementsByName:
返回数组
专门用于处理radio和checkbox
getElementsByTagName:
返回数组
根据标签名找
a():
追加和挂起元素到子节点
insertBefore():
插入到前面,相对于a()
ul.insertBefore(li,ul.firstChild) 把li插入到ul.firstChild的前面
添加标签属性:
方法一:a.href="http://www.qq.com" 这样写最通用
方法二(不兼容):a.setAttribute("href","http://www.qq.com" )设置属性
a.getAttribute("href")获取属性
克隆节点:
cloneNode()
参数true深度克隆(克隆节点以及节点下的全部内容),参数false或没有为浅度克隆(只克隆当前节点)
var li = ul.firstChild.cloneNode(true)
删除节点:
removeChild()
if(ul.hasChildNodes){
//先判断后删除
ul.removeChild(ul.firstChild)
}
innerHTML:
快捷插入元素
ul.innerHTML+=“<li><a>谢特</a></li>”
所有的浏览器都支持
但是IE不支持的两个地方:select标签和table(不能往table里塞,但是可以可以吧table放到div往里塞)