DOM
像素是计算机能接受的最小单位 因此对于带有小数的像素值,会舍去小数
操作元素属性方式
- oDiv.style.display = "none"
- oDiv.style["display"] = "none"
DOM方式
- 获取: getAttribute
- 设置: setAttribute
- 删除: removeAttribute
oText.setAttribute("value", "text")
用class获取元素
oParent.className //获取className
获取节点
子节点
//获取所有自己点
var oUl = document.getElementById("ul1")
oUl.childNodes // 属性 获取到所有 包括文本节点和元素节点
oUl.children //属性 获取所有的元素节点
oUl.nodeType // 获取节点的节点类型
子节点 只算自己下一层的所有元素个数
文本节点
nodetype
为 3元素节点
nodetype
为 1
父节点
oUl.parentNode
首尾节点
firstChild //获取第一个子节点
firstElementChild //获取第一个元素子节点
lastChild //
lastElementChild //
兄弟节点
nextSibling
nextElementSibling
previsionSibling
nextElementSibling
操作节点
创建元素节点
creatElement(标签名)
创建一个节点
appendChild(节点)
追加一个节点 (追加的节点如果已有其它父节点 会先从父节点删除)
插入元素
insertBefore(原有节点)
在原有节点前插入节点
删除元素
removeChild(节点)
删除一个节点
文档碎片
避免多次操作元素 导致页面多次渲染造成的性能问题,将多次操作元素的操作合并,进行一次渲染即可
var oUl = document.getElementById("ul1")
var oFrag = document.createDocumentFragment()
Frag.appendChild(subLiElement)
oUl.appendChild(oFrag)
问题不大,理论上,只有在很多次的元素操作才会出现问题,并且低级浏览器几乎没有任何影响
document.write
会先清空 再写
document是属于浏览器的
我们常使用的document.write('')
其实是window.document.write('')
的简写