+ -
当前位置:首页 → 问答吧 → childNodes属性是怎么一回事的?

childNodes属性是怎么一回事的?

时间:2010-05-19

来源:互联网

在javascript DOM 编程艺术 的书籍中看到的childNodes属性的详细说明.书中讲到: 文档里几乎每一样东西都是一个节点------甚至连空格和换行符都会被解释为节点.
我测试了一下. 我在文档中敲了几个空格键和换行键..怎么网页中输出的alert数字根本没有把空格和换行算上起啊.
还有啊.就是有很多li元素,是不是不管有多少个li都算1个啊?

作者: rao3324180   发布时间: 2010-05-19

DOM就像一棵树,有很多树枝,树枝上又有分叉,分叉上又有分叉……

作者: 鸡毛   发布时间: 2010-05-19

引用:
原帖由 鸡毛 于 2010-5-19 15:56 发表
DOM就像一棵树,有很多树枝,树枝上又有分叉,分叉上又有分叉……
老兄啊.你说具体一点好吗?

作者: rao3324180   发布时间: 2010-05-19

function getChilds(a) {
                     var b = [];
                     var c = document.getElementById(a);
                     for (var i = 0, len = a.childNodes.length; i < len; i++) {
                            if (a.childNodes[i].nodeType == 1) {
                                   b.push(a.childNodes[i])
                            }
                     }
                     return b
              }

作者: hotcrab2008   发布时间: 2010-05-19

引用:
原帖由 hotcrab2008 于 2010-5-19 16:39 发表
function getChilds(a) {
                     var b = [];
                     var c = document.getElementById(a);
                     for (var i = 0, len = a.childNodes.length; i < len; i++) {
                            if (a.childNodes.nodeType == 1) {
                                   b.push(a.chi ...
可以说明一下吗

作者: rao3324180   发布时间: 2010-05-19

楼主,如果你用IE和Firefox或者其他的支持标准的浏览器测试的话,你就会发现它们弹出的数字竟然会不一样.

作者: faeng220   发布时间: 2010-05-19

引用:
原帖由 faeng220 于 2010-5-19 18:17 发表
楼主,如果你用IE和Firefox或者其他的支持标准的浏览器测试的话,你就会发现它们弹出的数字竟然会不一样.
难道说JS也在各种浏览器的兼容之间很大吗

作者: rao3324180   发布时间: 2010-05-19

引用:
原帖由 rao3324180 于 2010-5-19 18:56 发表


难道说JS也在各种浏览器的兼容之间很大吗
处理 XML 文件 都一样的
你处理的是 HTML 某些标签回车和空格 TAB 等等 FF 还 IE 貌似会默认一个TEXTNODE在其他TAG之前, 具体我也忘了, 不过肯定是不一样. 貌似全写一行没多余空格什么的,可能会一样吧, 没试过, LZ可以自己试下.

作者: 暗翼飘雪   发布时间: 2010-05-19