【问题标题】:How to add a <br> after a div that contains a specific value for an attribute with JSoup如何在包含 JSoup 属性的特定值的 div 之后添加 <br>
【发布时间】:2014-01-12 15:02:19
【问题描述】:

我有以下html

<div type= "HEADER"> hello there </div>

我想在它后面插入一个&lt;br&gt;&lt;/br&gt;

这是我迄今为止尝试过的,但不幸的是它不起作用:

Document doc = Jsoup.parse("<div type= \"HEADER\"> hello there </div>");
doc.select("[type=*HEADER]").after("<br></br>");

那么,你有什么建议?

【问题讨论】:

  • "如何在 div 属性后添加
    ..."
    这是一个元素,而不是一个属性。

标签: java html dom tags jsoup


【解决方案1】:

您的选择器错误。你有:

doc.select("[type=*HEADER]")

但应该是:

doc.select("[type*=HEADER]")

selector documentation.

【讨论】:

    【解决方案2】:

    两件事:

    1. 如果你想要type=HEADER div,那就是div[type=HEADER]。如果您想要 div 的任何 HEADER anywheretype 属性中,那将是 *=(不是 =*)。

    2. brvoid element,它从来没有开始和结束标记。

    所以:

    doc.select("div[type=HEADER]").after("<br>");    // Exact match
    doc.select("div[type*=HEADER]").after("<br>");   // Contains
    

    ...或

    doc.select("div[type=HEADER]").after("<br/>");   // Exact match
    doc.select("div[type*=HEADER]").after("<br/>");  // Contains
    

    ...如果你想做 XHTML 的事情。

    【讨论】:

    • “[type=HEADER]”后面的“div”是关键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 2015-02-28
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    相关资源
    最近更新 更多