如何在包含具有JSoup的属性的特定值的div之后添加<br/>

时间:2013-12-24 10:58:50

标签: java html dom tags jsoup

我有以下html

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

我想在其后插入<br></br>

这是我到目前为止所尝试过的,但遗憾的是它无效:

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

所以,你有什么建议?

2 个答案:

答案 0 :(得分:4)

你的选择器错了。你有:

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

但它应该是:

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

请参阅selector documentation.

答案 1 :(得分:3)

两件事:

  1. 如果你想要type=HEADER div,那就是div[type=HEADER]。如果您希望div属性中HEADER type 任何<{1>} ,那就是*=(不是=*)。< / p>

  2. brvoid element,它永远不会有开始和结束标记。

  3. 所以:

    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的话。