Javascript学习历程之DOM模型
2012-02-26 16:05
288 查看
getElementById() (e1)
getElementsByTagName("ul") (e1)
父节点parentNode (e1)
子节点childNodes (e1)
兄弟关系nextSibling ,previousSibling (e1)
访问相邻的兄弟节点 (e1)
设置节点属性setAttribute("src", "Img/Img2.jpg"),getAttribute("title")获取属性的值
创建和添加新节点(e3) createElement(),createTextNode(),appendChild()
删除节点(e4)removeChild()
替换节点(e5)replaceChild(newElem, oldElem);
特定节点前插入节点(e6)insertBefore(newElem, oldElem)
创建一个文档碎片一次性插入,解决插入文本多时的时间问题(e7)createDocumentFragment()
特定节点后插入,创建新函数(e8)insertAfter(newElem, targetElem)
innerHTML属性获取多个节点(e9)innerHTML
通过改变className属性变化css(e10)
通过改变className属性叠加css属性(e10)myid.className += "b";
function myPhone() { var myItem = document.getElementById("myphone"); alert(myItem.tagName + " " + myItem.childNodes[0].nodeValue); }
getElementsByTagName("ul") (e1)
function myPhone() { var myItem = document.getElementsByTagName("ul"); alert(myItem.length+myItem[0].childNodes[0].nodeValue); }
父节点parentNode (e1)
function myPhone() { var myItem = document.getElementById("myphone"); alert(myItem.parentNode.tagName); }
子节点childNodes (e1)
function myPhone() { var myItem = document.getElementById("phone"); var str = ""; if (myItem.hasChildNodes()) { var oCH = myItem.childNodes; for (var i = 0; i < oCH.length; i++) { str += oCH[i].nodeName + "\n"; } } alert(str); }
兄弟关系nextSibling ,previousSibling (e1)
function myPhone() { var myItem = document.getElementById("myphone"); var nextListItem = myItem.nextSibling; var preListItem = myItem.previousSibling; alert(nextListItem.tagName+" "+preListItem.tagName); }
访问相邻的兄弟节点 (e1)
function nextSib(node) { var tempLast = node.parentNode.lastChild; if (node == tempLast) { return null; } var tempObj = node.nextSibling; while (tempObj.nodeType != 1 && tempObj.nextSibling != null) tempObj = tempObj.nextSibling; return (tempObj.nodeType == 1) ? tempObj : null; } function prevSib(node) { var tempfirst = node.parentNode.firstChild; if (node == tempfirst) { return null; } var tempObj = node.previousSibling; while (tempObj.nodeType != 1 && tempObj.previousSibling != null) tempObj = tempObj.previousSibling; return (tempObj.nodeType == 1) ? tempObj : null; } function myPhone() { var myItem = document.getElementById("myphone"); var nextListItem = nextSib(myItem); var preListItem = prevSib(myItem); alert("后一项:" + ((nextListItem != null) ? nextListItem.firstChild.nodeValue : null) + "前一项:" + ((preListItem != null) ? preListItem.firstChild.nodeValue : null)); }
设置节点属性setAttribute("src", "Img/Img2.jpg"),getAttribute("title")获取属性的值
function changeImg() { var myImg = document.getElementsByTagName("img")[0]; myImg.setAttribute("src", "Img/Img2.jpg"); myImg.setAttribute("title", "夜色"); }
创建和添加新节点(e3) createElement(),createTextNode(),appendChild()
function createElem() { var newp = document.createElement("p"); var newtext = document.createTextNode("DOM创建和添加新节点"); newp.appendChild(newtext); document.body.appendChild(newp); }
删除节点(e4)removeChild()
function deleteElem() { var deleteElem = document.getElementsByTagName("p")[0]; deleteElem.parentNode.removeChild(deleteElem); }
替换节点(e5)replaceChild(newElem, oldElem);
function replaceElem() { var oldElem = document.getElementsByTagName("p")[0]; var newElem = document.createElement("div"); var newText = document.createTextNode("替换后的节点是div"); newElem.appendChild(newText); oldElem.parentNode.replaceChild(newElem, oldElem); }
特定节点前插入节点(e6)insertBefore(newElem, oldElem)
function insertElem() { var oldElem = document.getElementsByTagName("p")[0]; var newElem = document.createElement("p"); var newText = document.createTextNode("插入后的节点"); newElem.appendChild(newText); oldElem.parentNode.insertBefore(newElem, oldElem); }
创建一个文档碎片一次性插入,解决插入文本多时的时间问题(e7)createDocumentFragment()
function insertElems() { var phone = ["Iphone", "Lumia800", "htc", "iPad2"]; var fragment = document.createDocumentFragment(); for (var i = 0; i < phone.length; i++) { var newElem = document.createElement("p"); var newText = document.createTextNode(phone[i]); newElem.appendChild(newText); fragment.appendChild(newElem); } document.body.appendChild(fragment); }
特定节点后插入,创建新函数(e8)insertAfter(newElem, targetElem)
function insertAfter(newElem, targetElem) { var oParent = targetElem.parentNode; if (oParent.lastChild == targetElem) oParent.appendChild(newElem); else oParent.insertBefore(newElem, targetElem.nextSibling); } function insertElem() { var oldElem = document.getElementById("Lumia800"); var newElem = document.createElement("div"); var newText = document.createTextNode("iPad2"); newElem.appendChild(newText); insertAfter(newElem, oldElem); }
innerHTML属性获取多个节点(e9)innerHTML
function DOMinnerHTML() { var mydiv = document.getElementById("innerHtml"); mydiv.innerHTML = "<img src='Img/Img1.jpg' title='美景' alt=''/>"; }
通过改变className属性变化css(e10)
function check() { var myid = document.getElementById("ul-e10"); var newElem = document.createElement("p"); var newText = document.createTextNode("通过改变className属性变化css"); newElem.appendChild(newText); myid.parentNode.insertBefore(newElem, myid); myid.className = "b"; }
通过改变className属性叠加css属性(e10)myid.className += "b";
function check() { var myid = document.getElementById("ul-e10"); var newElem = document.createElement("p"); var newText = document.createTextNode("通过改变className属性变化css"); newElem.appendChild(newText); myid.parentNode.insertBefore(newElem, myid); myid.className += "b"; }
相关文章推荐
- javascript学习0---dom模型
- JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
- javascript基础学习-dom模型(七)
- 学习javascript的DOM模型,随意写的代码,更新博客,代码如下:
- 轻松学习JavaScript二十七:DOM编程学习之事件模型
- javascript对文档对象模型DOM的基本操作学习笔记
- javascript学习之DOM模型(一)
- 轻松学习JavaScript二十七:DOM编程学习之事件模型
- javascript学习六:DOM模型
- JavaScript学习笔记(09)之文档对象模型DOM
- javascript学习0---dom模型
- JavaScript 学习历程和心得分享
- javascript学习笔记——BOM and DOM
- javascript--DOM对象模型的常用操作属性和方法
- JavaScript-DOM学习笔记之动态创建标记
- JavaScript DOM 学习(1) Hello World
- 【前端学习笔记】深入学习Javascript:DOM机制
- JavaScript---DOM模型之DOM树节点的增、删、改、查(一)
- JavaScript---DOM模型之DOM树节点的增、删、改、查(二)
- JavaScript学习-DOM了解