DOM节点的创建与操作[转载]
document.createElement(element): 创建一个标签为element的Element节点。
注意:
在HTML中,element大小写不敏感;在XML(XHTML)中大小写敏感。
例子:
1.var el = document.createElement("div"); 2.el.id = "myDiv"; 3.el.className = "nav"; 4.document.appendChild(el);
1.if (client.browser.ie & & client.browser.ie < = 7){ 2. var iframe = document.createElement('<iframe name="myframe"> < /iframe>'); 3. //create input element 4. var input = document.createElement('<input type="checkbox" />'); 5. //create button 6. var button = document.createElement('<button type="reset"> </button>'); 7. //create radio buttons 8. var radio1 = document.createElement('<input type="radio" name="choice" value="1" />'); 9. var radio2 = document.createElement('<input type="radio" name="choice" value="2" />'); 10.}
var element = document.createElement('div'); 2. element.className = 'message'; 3. var textNode = document.createTextNode('Hello world!'); 4. element.appendChild(textNode); 5. var anotherTextNode = document.createTextNode('Yippee!'); 6. element.appendChild(anotherTextNode); 7. document.body.appendChild(element); 8. alert(element.childNodes.length); //2 9. /* 10. 上述代码中,element将会有2个child因为我们创建了2个Text Node,这可能不是我们想要的结果,调用normalize()方法,可以使得节点下面的文本节点内容进行“拼接”: 11.*/ 12. element.normalize(); 13. alert(element.childNodes.length); //1 14. alert(element.firstChild.nodeValue); //”Hello World!Yippee!”
1.var fragment = document.createDocumentFragment(); 2.var ul = document.getElementById('myList'); 3.var li = null; 4.for (var i=0; i < 3; i++){ 5.li = document.createElement('li'); 6.li.appendChild(document.createTextNode('Item ' + (i+1))); 7. fragment.appendChild(li); 8.} 9.//alert(fragment.childNodes.length);//3 10.//fargment中的子节点将被 'move' 到DOM tree中,它里面的内容被"清空"了。 11.ul.appendChild(fragment); 12. 13.//alert(fragment.childNodes.length);//0
1.someNode.addEventListener('click',fn,false);// firefox ,chrome or other browers 2.omeNode.attachEvent('onclick',fn);//IE
1.var returnedNode = someNode.appendChild(someNode.firstChild); 2.alert(returnedNode == someNode.firstChild); //false 3.alert(returnedNode == someNode.lastChild); //true
1.returnedNode = someNode.insertBefore(newNode, null); 2.alert(newNode == someNode.lastChild); //true
1.interface Document : Node { 2. readonly attribute DocumentType doctype; 3. readonly attribute DOMImplementation implementation; 4. readonly attribute Element documentElement; 5. Element createElement(in DOMString tagName) 6. raises(DOMException); 7. DocumentFragment createDocumentFragment(); 8. Text createTextNode(in DOMString data); 9. Comment createComment(in DOMString data); 10. CDATASection createCDATASection(in DOMString data) 11. raises(DOMException); 12. ProcessingInstruction createProcessingInstruction(in DOMString target, 13. in DOMString data) 14. raises(DOMException); 15. Attr createAttribute(in DOMString name) 16. raises(DOMException); 17. EntityReference createEntityReference(in DOMString name) 18. raises(DOMException); 19. NodeList getElementsByTagName(in DOMString tagname); 20.}; 21.interface Element : Node { 22. readonly attribute DOMString tagName; 23. DOMString getAttribute(in DOMString name); 24. void setAttribute(in DOMString name, 25. in DOMString value) 26. raises(DOMException); 27. void removeAttribute(in DOMString name) 28. raises(DOMException); 29. Attr getAttributeNode(in DOMString name); 30. Attr setAttributeNode(in Attr newAttr) 31. raises(DOMException); 32. Attr removeAttributeNode(in Attr oldAttr) 33. raises(DOMException); 34. NodeList getElementsByTagName(in DOMString name); 35. void normalize(); 36.}; 37.interface HTMLElement : Element { 38. attribute DOMString id; 39. attribute DOMString title; 40. attribute DOMString lang; 41. attribute DOMString dir; 42. attribute DOMString className; 43.}; 44. 45. 46.interface CharacterData : Node { 47. attribute DOMString data; 48. // raises(DOMException) on setting 49. // raises(DOMException) on retrieval 50. readonly attribute unsigned long length; 51. DOMString substringData(in unsigned long offset, 52. in unsigned long count) 53. raises(DOMException); 54. void appendData(in DOMString arg) 55. raises(DOMException); 56. void insertData(in unsigned long offset, 57. in DOMString arg) 58. raises(DOMException); 59. void deleteData(in unsigned long offset, 60. in unsigned long count) 61. raises(DOMException); 62. void replaceData(in unsigned long offset, 63. in unsigned long count, 64. in DOMString arg) 65. raises(DOMException); 66.}; 67. 68.interface Text : CharacterData { 69. Text splitText(in unsigned long offset) 70. raises(DOMException); 71.}; 72. 73.interface DocumentFragment : Node { 74.};