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.
Cookbook contents
Introduction
Input
- Parse a document from a String
- Parsing a body fragment
- Load a Document from a URL
- Load a Document from a File
Extracting data
- Use DOM methods to navigate a document
- Use selector-syntax to find elements
- Extract attributes, text, and HTML from elements
- Working with URLs
- Example program: list links
Modifying data
- Set attribute values
- Set the HTML of an element
- Setting the text content of elements