有没有办法选择另一个元素?
例如,如果我有:
<table>
<tr>
<th></th>
<td></td>
</tr>
<tr>
...
</tr>
</table>
我想选择我能做的第一件事:
Elements select = Jsoup.parse(HTML_PAGE).select("th");
Element element = select.get(0);
但是我该怎么说:选择第一个之后的td?
感谢您的帮助。
答案 0 :(得分:2)
您可以使用不同JSoup Selectors的合并。
例如,对于您的问题:“选择第一个之后的td”
lt伪选择器:
:lt(n)
- 兄弟索引小于n的元素兄弟选择器:您有两个选择:
E + F
- 紧接着兄弟E E ~ F
- 一个前面有兄弟E 因此,为了选择第一个,它将是th:lt(1)
,并且对于它后面的td + td
。
最终代码:
Elements select = Jsoup.parse(HTML_PAGE).select("th:lt(1) + td");
Element element = select.get(0);
返回的元素将是紧接在找到的第一个标记之后的td标记。