我正在努力获得所有直接的父母,但我也得到他们的兄弟姐妹。
例如,我有这个DOM结构......
<div class="html">
<div class="head"></div>
<div class="body">
<a href="seznam.cz">seznam</a>
<h2>Foo</h2>
<a href="google.com">google</a>
<p>
<img class="first">
</p>
<img class="second">
<ol>
<li>1</li>
<li>2</li>
</ol>
</div>
</div>
所以我希望 img 元素的所有直接父母都使用第一个类,直到 div ,类 html
我尝试使用以下代码
Element element = document.select("img").first();
Node root = element.root();
但是在root var中我也得到了所有兄弟姐妹的整个DOM结构。
更新
在root var之后,我再次拥有整个DOM结构:
<div class="html">
<div class="head"></div>
<div class="body">
<a href="seznam.cz">seznam</a>
<h2>Foo</h2>
<a href="google.com">google</a>
<p>
<img class="first">
</p>
<img class="second">
<ol>
<li>1</li>
<li>2</li>
</ol>
</div>
</div>
但我想要这样的事情:
<div class="html">
<div class="body">
<p>
<img class="first">
</p>
</div>
</div>
答案 0 :(得分:1)
首先获取所有带有类名的元素&#39; first&#39;使用,
Elements childs = document.getElementsByClass("first");
现在,迭代所有子元素以使用
获取其父元素 for( Element child : childs){
Elements parents = child.parents();
for(Element parent: parents){
System.out.println(parent.tagName());
}
}
试试这个,希望它能为你效劳;)
答案 1 :(得分:1)
如果您只对路径感兴趣,请使用Element.cssSelector()
它为您提供整个DOM路径,例如html > body > img
&#34;路径&#34;由 Darshit Chokshi 方法返回并不是唯一的。