最近一直在写新闻类网站之间合作的内容接口,而且总会设计到对返回数据的处理,注入时间格式,是否使用CDATA包裹,content中的html代码格式等等一系列问题,其中个人感觉比较棘手的是html代码的处理,处理包括清除特定标签的属性,添加特定属性的标签等等.下面对我遇到的一些问题进行一个简单的总结.
处理案例
<p style="text-indent: 2em; text-align: left;">
生活中,无论是男人还是女人,自己在家或者和闺蜜一起的时候都会做一些“恶心事”,当然很多女人都没有任何“恶心”感觉,但是男人一旦看见了,就不会在觉得你可爱了....今天就给大家说一下女人经常做的那些恶心事,看你是不是全都中招了。
</p>
<p style="text-indent: 2em; text-align: left;">
1、内衣连续一周不洗
</p>
</p>
需求1:去除p标签中的style属性
有两种处理方式,如果是在后台处理的话,那么返回的接口中会显示处理结果
第一种处理方式:
使用jsoup来操做html,具体代码如下
Document document = Jsoup.parse(htm代码,"", Parser.xmlParser());
Elements e = document.getElementsByTag("p");
passKeyData.get(i).setContent(document.outerHtml());
第二种处理方式在html页面中使用jquery
<script type="text/javascript"> $(function(){ $(".box").find("p").each(function(){//jquery的选择器,box、p都是标签名,查找box标签下的所有p标签,然后进行遍历,需要注意的是,不管p标签与box标签至今隔着多少父子标签,都可以使用这种方式进行选中 $(this).removeAttr("style");//this代表当前选中的p标签对象,执行它的removeAttr方法即可删除style属性 }); }) </script>
需要补充一下,有种需求他会让你给特定的标签添加属性比如之前做过一个给img标签添加data-original属性,同时将原来的src属性去除掉
$(function(){ $(function() { //清除src属性同时将src属性删除掉 $("section").find("img").each(function(){ $(this).attr("data-original",$(this).attr("src")); $(this).removeAttr("src") });
//将p标签的style属性删除 $("section").find("p").each(function(){ // $(this).attr("data-original",$(this).attr("src")); $(this).removeAttr("style") }); })
浙公网安备 33010602011771号