设置属性值
在你解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面。
创建一个简单的Java类:
public static void main(String[] args) throws IOException { Document doc = Jsoup.connect("http://news.baidu.com/").get(); Element menuList = doc.select(".menu-list").first(); if(menuList!=null){ Elements as = menuList.select("a[href]");////带有href属性的a元素 if(as!=null && as.size()>0){ for(Element a:as){ a.attr("href","https://www.sunjs.com"+a.attr("href")); a.attr("rel", "nofollow"); a.addClass("sunjs").attr("id", "sunjs"); System.out.println(a); } } } }
输出结果:
<a href="https://www.sunjs.com/" rel="nofollow" class="sunjs" id="sunjs">首页</a> <a href="https://www.sunjs.comhttps://baijia.baidu.com/" id="sunjs" target="_blank" rel="nofollow" class="sunjs">百家号</a> <a href="https://www.sunjs.com/guonei" rel="nofollow" class="sunjs" id="sunjs">国内</a> <a href="https://www.sunjs.com/guoji" rel="nofollow" class="sunjs" id="sunjs">国际</a> <a href="https://www.sunjs.com/mil" rel="nofollow" class="sunjs" id="sunjs">军事</a> <a href="https://www.sunjs.com/finance" rel="nofollow" class="sunjs" id="sunjs">财经</a> <a href="https://www.sunjs.com/ent" rel="nofollow" class="sunjs" id="sunjs">娱乐</a> <a href="https://www.sunjs.com/sports" rel="nofollow" class="sunjs" id="sunjs">体育</a> <a href="https://www.sunjs.com/internet" rel="nofollow" class="sunjs" id="sunjs">互联网</a> <a href="https://www.sunjs.com/tech" rel="nofollow" class="sunjs" id="sunjs">科技</a> <a href="https://www.sunjs.com/game" rel="nofollow" class="sunjs" id="sunjs">游戏</a> <a href="https://www.sunjs.com/lady" rel="nofollow" class="sunjs" id="sunjs">女人</a> <a href="https://www.sunjs.com/auto" rel="nofollow" class="sunjs" id="sunjs">汽车</a> <a href="https://www.sunjs.com/house" rel="nofollow" class="sunjs" id="sunjs">房产</a> <a href="https://www.sunjs.comhttp://jian.news.baidu.com/" target="_blank" rel="nofollow" class="sunjs" id="sunjs">个性推荐</a>
说明
设置属性方法 Element.attr(String key, String value) 和 Elements.attr(String key, String value)。
假如你需要修改一个元素的 class 属性,可以使用 Element.addClass(String className) 和 Element.removeClass(String className) 方法