Set attribute values
Problem
You have a parsed document that you would like to update attribute values on, before saving it out to disk, or sending it on as a HTTP response.
Solution
Use the attribute setter methods Element.attr(String key, String value)
, and Elements.attr(String key, String value)
.
If you need to modify the class
attribute of an element, use the Element.addClass(String className)
and Element.removeClass(String className)
methods.
The Elements
collection has bulk attribue and class methods. For example, to add a rel="nofollow"
attribute to every a
element inside a div:
doc.select("div.comments a").attr("rel", "nofollow");
Description
Like the other methods in Element
, the attr
methods return the current Element
(or Elements
when working on a collection from a select). This allows convenient method chaining:
doc.select("div.masthead").attr("title", "jsoup").addClass("round-box");
Cookbook
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 CSS selectors to find elements
- Use XPath selectors to find elements and nodes
- Extract attributes, text, and HTML from elements
- Working with relative and absolute URLs
- Example program: list links
Modifying data
- Set attribute values
- Set the HTML of an element
- Setting the text content of elements