博客首文--关于DOM递归中的一点启示!

来源:互联网 发布:手机群发短信软件 编辑:程序博客网 时间:2024/05/22 04:40

首先近期在程序中遇到了一个莫名其妙的问题--在DOM递归中通过子节点得到的IHTMLDOMNode指针查询

IHTMLElement指针,竟然不可以(其实一开始是以为不可以)。

后来终于被我发现了一个问题

大家对于DOM熟悉的话,应该知道在递归DOM的时候,一些子节点中会跟上#text或者#comment。

于是我就奇怪了:这两个东西不是标记为啥也会出现在DOM中呢?(这点也不是很清楚,我认为可能是W3C原则定的吧。)

这两个东西如果不涉及到IHTMLElement接口查询,那到不要紧,但是涉及的话。其中之一就会给你点颜色瞧瞧

其中之一就是#text,它真是一个另类。说它另类一是它不是标签却会出现在DOM里面,二是既然是DOM里面的

IHTMLDOMNode,却偏偏查询不出它的IHTMLElement接口指针。为什么呢?就因为它不是标记啊,它就是文本

嘛!

于是当在DOM递归时要进行查询IHTMLElement接口时,就要通过IHTMLDOMNode的nodeType来进行判断了

里面参数是个long类型 分别有0(attribute属性) 1(element元素) 3(text文本) 8(comment注释)

好了 到这里错误也找到了,细节也就补上了。呵呵。。

第一次写文章,欢迎大家拍砖!

原创粉丝点击