Javascirpt基础之Dom
DOM
帮助JS操作页面中的元素
dom不仅是js(Ecript,dom,bom)的一部分,也是一套标准、规范。
有 dom1 dom2
火狐 完全兼容 dom1 dom2
IE 实现dom1一点,dom2完全没实现
chrome safari dom1实现大半, dom2实现了一部分。
子节点只有一层:childNodes(数组) nodeType
childNodes:火狐中空文本也算子节点。
3:文本节点
1:元素节点
if(元素.nodeType==1){*******}
更简单的代替childNodes —— children (兼容版的childNodes)
元素.children (兼容 最好不过)
父节点:parentNode (结构上的父级)
this.parentNode.style.display='none'
这个元素相对谁来定位:offsetParent (寻找用来定位的那个父级),所以用来
定位的父级并不一定是真正意义上的结构父级
绝对定位是相对 有定位的父级来定位(相对定位、绝对定位、固定定位都可)
的。父级没定位会一直往上找,一直到HTML(最终定位的元素).
例子:求物体在页面的绝对坐标。元素在页面上的实际位置。
DOM节点2
首尾节点:firstChild lastChild firstElementChild lastElementChild
兄弟节点:nextSibling nextElementSibling previousSibling
previousElementSibling
有兼容性问题:ovar=*.firsChild||*.firstElementChild
元素属性操作:
oDiv.style.display='';
oDiv.style['display']=''; 没区别,方括号麻烦点,但是可以变。
Dom方式操作:
getAttribute('属性');
setAttribute('属性','值') 和方括号的差不多。
removeAttribute('属性')
getByClass函数
创建 插入 删除 文档碎片
creatElement
document.creatElement('***')
父.appendchild(子节点)
父.insertBefore(子节点,谁之前) 插之前判断子节点是否为0
父.removeChild(子节点)
innerHTML
文档碎片:oFrag=document.createDocumentFragment();