标签:
属性:是节点(HTML 元素)的值,您能够获取或设置(比如节点的名称或内容)。
方法:是我们可以在节点(HTML 元素)上执行的动作。(比如添加或修改元素)。
HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。
HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
在js中通过document这个对象提供的方法
nodeName(节点名称)
注释:nodeName 始终包含 HTML 元素的大写字母标签名。
nodeValue(节点值)
nodeType(节点类型)nodeType 是只读的。
获取元素内容的最简单方法是使用 innerHTML 属性。
innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
您能够以不同的方式来访问 HTML 元素:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> <script> /* * getByClass(document, ‘li‘, ‘box‘); * getByClass(document, ‘li‘, ‘box,box1‘); * getByClass(document, ‘li‘, ‘box box1‘); * */ window.onload = function() { var arr = getByClass(document,‘li‘,‘box‘); console.log( arr ); } function getByClass(obj, tagname, classes) { var classes = classes.split(‘ ‘); //获取指定范围内的所有指定元素 var eles = obj.getElementsByTagName(tagname); //一个用来保存结果的数组 var result = []; //循环遍历选中的元素eles for (var i=0; i<eles.length; i++) { //把当前循环过程中某个元素的class取出来,并分割成数组(元素可能会有多个class) var classArr = eles[i].className.split(‘ ‘); //判断当前这个元素的class中是否有我们要找的class if ( inArray(classArr, classes) ) { //如果当前元素中有我们要找的class,则把当前元素保存到结果数组中 result.push( eles[i] ); } } //返回结果数组 return result; } //[‘box‘, ‘box1‘] [‘box1‘, ‘box2‘, ‘box‘] function inArray(arr1, arr2) { for (var i=0; i<arr2.length; i++) { var b = false; for (var j=0; j<arr1.length; j++) { if (arr2[i] == arr1[j]) { b = true; break; } } //如果当前这一次循环比较结束以后,b的值为真,则表示arr2中的某一个在arr1中是存在,否则就不存在 if (!b) { return false; } } //只要代码能运行到这里,就说明了arr2中的值在arr1中都是存在的 return true; } </script> </head> <body> <ul id="ul1"> <li>1111111</li> <li class="box">222222222</li> <li class="box box1">33333333</li> <li class="box2">44444444444</li> <li class="box1">55555555555</li> <li class="box1 box2 box">6666666666666</li> </ul> </body> </html>
/*-------------------------- + 获取id, class, tagName +-------------------------- */ var get = { byId: function(id) { return typeof id === "string" ? document.getElementById(id) : id; }, byClass: function(sClass, oParent) { var aClass = []; var reClass = new RegExp("(^| )" + sClass + "( |$)"); var aElem = this.byTagName("*", oParent); for (var i = 0; i < aElem.length; i++) reClass.test(aElem[i].className) && aClass.push(aElem[i]); return aClass; }, byTagName: function(elem, obj) { return (obj || document).getElementsByTagName(elem); } };
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。
父节点拥有子节点。
同级的子节点被称为同胞(兄弟或姐妹)。
<html> <head> <title>DOM 教程</title> </head> <body> <h1>DOM 第一课</h1> <p>Hello world!</p> </body> </html>
demo分析:
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
标签:
原文地址:http://www.cnblogs.com/dorislyx/p/5056991.html