0

我知道在 DOM 中, Document 对象具有getElementsByTagName()方法。

为什么没有在任何特定节点上定义此操作?假设我有一个 Node 对象,并且我想按名称查找该 Node 的特定子节点。我真的必须实现自己的方法来遍历它的所有孩子,直到找到那个名字的孩子吗?(我没有使用 XPath。)对于一个简单的任务来说,这听起来像是很多工作。谢谢

4

2 回答 2

0

我已经测试了代码,我得到了预期的结果。所以我认为你做错了什么。

一个例子:http ://tinkerbin.com/uAgGGIM4 (点击运行运行代码)

于 2012-01-19T19:08:50.060 回答
0

我想你在谈论 JAVA。如果它是 Javascript,请忘记这个答案(并请相应地标记您的问题)。在这种情况下,getElementsByTagName 仅适用于“元素”对象,而不适用于“节点”对象(所有元素都是节点,但所有节点都不是元素)。

http://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Element.html

如果您确定您的对象是一个元素,您可以在调用该方法之前进行强制转换

Element eElement = (Element) nNode;

您可能需要http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#isAssignableFrom%28java.lang.Class%29之前。

于 2012-01-19T19:09:57.817 回答