最近一直在写新闻类网站之间合作的内容接口,而且总会设计到对返回数据的处理,注入时间格式,是否使用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") }); })