Set the HTML of an element
Problem
You need to modify the HTML of an element.
Solution
Use the HTML setter methods in Element
:
Element div = doc.select("div").first(); // <div></div>
div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>
div.prepend("<p>First</p>");
div.append("<p>Last</p>");
// now: <div><p>First</p><p>lorem ipsum</p><p>Last</p></div>
Element span = doc.select("span").first(); // <span>One</span>
span.wrap("<li><a href='http://example.com/'></a></li>");
// now: <li><a href="http://example.com"><span>One</span></a></li>
Discussion
Element.html(String html)
clears any existing inner HTML in an element, and replaces it with parsed HTML.Element.prepend(String first)
andElement.append(String last)
add HTML to the start or end of an element's inner HTML, respectivelyElement.wrap(String around)
wraps HTML around the outer HTML of an element.
See also
You can also use the Element.prependElement(String tag)
and Element.appendElement(String tag)
methods to create new elements and insert them into the document flow as a child element.