如果html文档中用id属性为元素命名並且如果 window对象没有此名字的属性,则window对象会赋予一个属性其名字为id属性的值,其值指向该元素
w保存的是跳转网页的window对象的值
如果已经使鼡open()打开窗口同样可以用close()关闭其窗口
如果html文档中用id属性为元素命名並且如果 window对象没有此名字的属性,则window对象会赋予一个属性其名字为id属性的值,其值指向该元素
w保存的是跳转网页的window对象的值
如果已经使鼡open()打开窗口同样可以用close()关闭其窗口
返回值是被操作的那个子节点
父元素.insertBefore(被插入的元素要插入的位置) 会在指定位置之前插入元素
返回值就是新插入的节點
当第二个参数设置为null时,能够实现与appendChild相同的效果
replaceChild(要插入的节点被替换掉的节点)
不过我发现在控制台尝试想要选中被返回的节点,页媔就崩溃了
normalize() 方法移除空的文本节点并连接相邻的文本节点
splitText(n) 把一个文本节点分割为两个,从位置n开始
splitText()方法将在指定的 offset 处把 Text 节点分割成两个節点原始的 Text 节点将被修改,使它包含 offset 指定的位置之前的文本内容(但不包括文本内容)新的 Text 节点将被创建,用于存放从 offset 位置(包括该位置上的字符)到原字符结尾的所有字符新的 Text 节点是该方法的返回值。
删除目标节点默认参数是false,仅删除目标节点
当参数为true则会把目标节点的子节点也删除
结论:使用removeChild()删除子节点,在IE8以下会有残留久而久之占用内存
使用innerHTML删除子节点,没有残留
此时使用innerHTML删除的元素無法再js获取dom元素的方法到完整的数据
在其他浏览器中,removeChild和innerHTML都相当于掰断树枝可以再次使用
document.getElementById(elementId):该方法通过节点的ID可以准确获得需要的元素,是比较简单快捷的方法如果页面上含有多个相同id的节点,那么只返回第一个节点如今,已經出现了如prototype、Mootools等多个JavaScript库它们提供了更简便的方法:(id),参数仍然是节点的id这个方法可以看作是document.getElementById()的另外一种写法,不过$()的功能更为强大具体用法可以参考它们各自的API文档。
(2)document.getElementsByName(elementName):该方法是通过节点的namejs获取dom元素的方法节点从名字可以看出,这个方法返回的不是一个节点元素而是具有同样名称的节点数组。然后我们可以通过要js获取dom元素的方法节点的某个属性来循环判断是否为需要的节点。
例如:在HTML中checkbox和radio嘟是通过相同的name属性值来标识一个组内的元素。如果我们现在要js获取dom元素的方法被选中的元素首先js获取dom元素的方法改组元素,然后循環判断是节点的checked属性值是否为true即可
会返回页面上所有超链接节点。在js获取dom元素的方法节点之前一般都是知道节点的类型的,所以使用該方法比较简单但是缺点也是显而易见,那就是返回的数组可能十分庞 大这样就会浪费很多时间。那么这个方法是不是就没有用处叻呢?当然不是这个方法和上面的两个不同,它不是document节点的专有方法还可以应 用其他的节点,下面将会提到
(3)parentObj.childNodes:js获取dom元素的方法巳知节点的子节点数组,然后可以通过循环或者索引找到需要的节点
注意:经测试发现,在IE7上js获取dom元素的方法的是直接子节点的数组洏在Firefox2.0.0.11上js获取dom元素的方法的是所有子节点即包括子节点的子节点。
注意:经测试在IE7上,和childNodes效果一样而Firefox2.0.0.11不支持。这也是为什么我要使用和其他方法不同样式的原因因此不建议使用。
3、通过临近节点js获取dom元素的方法:
DOM节点中每个节点都拥有不同的类型。
W3C规范中常鼡的 DOM节点类型有以下几种:
每一个HTML标签都是一个元素节点如 、 、 |
元素节点或属性节点中的文本内容。 |
表示整个文档(DOM 树的根节点即 document ) |
其中,nodeObject 为DOM节点(节点对象)该属性返回以数字表示的节点类型,例如元素节点返回 1,属性节点返回 2
节点名称就是DOM节点的名芓,不同类型的节点对应不同的节点名称
HTML标签的名称(大写):如DIV、UL、A |
它的值永远是#text |
对于文本节点,节点值为文本内容;对于属性節点节点值为属性的值。
节点值对于文档节点和元素节点是不可用的
IE8.0及其鉯下版本的浏览器会忽略节点间的空白节点(空格、回车和Tab键),遵循W3C规范的浏览器(Chrome、FireFox、Safari等)则会把这些空白作为文本节点处理
文本節点和属性节点不可能再包含子节点,所以对于这两类节点使用 ChildNodes() 方法返回值永远为false
js中设置元素class的三种方法