1

次の要素を選択する方法はありますか?

たとえば、私が持っている場合:

<table>
    <tr>
        <th></th>
        <td></td>
    </tr>
    <tr>
        ...
    </tr>
</table>

そして私は私ができる最初のものを選択したい:


Elements select = Jsoup.parse(HTML_PAGE).select("th");
Element element = select.get(0);
しかし、どうすれば言うことができますか:最初のthに続くtdを選択しますか?

ご協力ありがとうございました。

4

1 に答える 1

2

異なるJSoupセレクターを組み合わせて使用​​できます。

たとえば、あなたの質問の場合:「最初のthに続くtdを選択してください」

  • 疑似セレクター:

    • :lt(n)-兄弟インデックスがn未満の要素
  • 兄弟セレクター:2つのオプションがあります:

    • E + F-兄弟Eが直前にあるF要素
    • E ~ F-兄弟Eが前に付いたF要素

したがって、最初のthを選択する場合は、になりth:lt(1)、それに続くtdの場合はになり+ tdます。

最終的なコード:

Elements select = Jsoup.parse(HTML_PAGE).select("th:lt(1) + td");
Element element = select.get(0);

返される要素は、最初に見つかったタグの直前にあるtdタグになります。

于 2010-11-03T13:51:56.543 に答える