DOM では、 Document オブジェクトにメソッドgetElementsByTagName()があることを知っています。
この操作が特定のノードで定義されていないのはなぜですか? Node オブジェクトがあり、その Node の特定の子を名前で検索したいとします。その名前の子が見つかるまで、すべての子をトラバースする独自のメソッドを本当に実装する必要がありますか? (私は XPath を使用していません。) 単純なタスクの場合、かなりの作業のように思えます。ありがとう
DOM では、 Document オブジェクトにメソッドgetElementsByTagName()があることを知っています。
この操作が特定のノードで定義されていないのはなぜですか? Node オブジェクトがあり、その Node の特定の子を名前で検索したいとします。その名前の子が見つかるまで、すべての子をトラバースする独自のメソッドを本当に実装する必要がありますか? (私は XPath を使用していません。) 単純なタスクの場合、かなりの作業のように思えます。ありがとう
コードをテストしたところ、期待通りの結果が得られました。だから私はあなたが何か間違ったことをしていると思います。
例: http://tinkerbin.com/uAgGGIM4 (実行をクリックしてコードを実行します)
JAVAについて話していると思います。Javascript の場合は、この回答を忘れてください (それに応じて質問にタグを付けてください)。その場合、getElementsByTagName は「Element」オブジェクトでのみ機能し、「Node」オブジェクトでは機能しません (すべての要素はノードですが、すべてのノードは要素ではありません)。
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が必要な場合があります。