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(
, and Elements.attr(
.
If you need to modify the class
attribute of an element, use the Element.addClass(
and Element.removeClass(
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
- Parse large documents efficiently with StreamParser
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