在解析一个Document以后可能想修改其中的某些属性值,而后再保存到磁盘或都输出到前台页面。html
能够使用属性设置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value).假如你须要修改一个元素的 class
属性,能够使用 Element.addClass(String className) 和Element.removeClass(String className) 方法。java
Elements 提供了批量操做元素属性和class的方法,好比:要为div中的每个a元素都添加一个rel="nofollow"
能够使用以下方法:node
doc.select("div.comments a").attr("rel", "nofollow");
说明:与Element 中的其它方法同样,attr
方法也是返回当前 Element (或在使用选择器是返回 Elements 集合)。这样可以很方便使用方法连用的书写方式。好比:api
doc.select("div.masthead").attr("title", "jsoup").addClass("round-box");
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前添加html内容 div.append("<p>Last</p>");//在div以后添加html内容 // 添完后的结果: <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>"); // 添完后的结果: <li><a href="http://example.com"><span>One</span></a></li>
操做 | 含义 |
---|---|
Element.html(String html) | 先清除元素中的HTML内容,而后用传入的HTML代替。 |
Element.prepend(String first) | 元素内部HTML的前面添加HTML内容 |
Element.append(String last) | 元素内部HTML的后面添加HTML内容 |
Element.wrap(String around) | 对元素包裹一个外部HTML内容。 |
Element div = doc.select("div").first(); // <div></div> div.text("five > four"); // <div>five > four</div> div.prepend("First "); div.append(" Last"); // now: <div>First five > four Last</div>
操做 | 含义 |
---|---|
Element.text(String text) | 清除一个元素中的内部HTML内容,而后提供的文本进行代替 |
Element.prepend(String first) | 在元素的内部html前添加文本节点。 |
Element.append(String last) | 在元素的内部html后添加文本节点。 |
对于传入的文本若是含有像 <
, >
等这样的字符,将以文本处理,而非HTMLapp