使用document.implementation.createHTMLDocument对html进行转换

该文章由 leevare 发布于 ,归类于 Javascript

document.implementation.createHTMLDocument会创建一个document对象,而且同时不会影响当前html的内容。但是,这有什么用呢?

例如可以使用这个方法对html字符串进行一些处理。如下代码是去除给定的html字符串中的<style><a><img>标签。

function handleHTML(html) {
    var body = document.implementation.createHTMLDocument('').body;

    body.innerHTML = html;

    $(body).find('a, img, style').remove(); //假如可以使用jquery操作DOM

    return body.innerHTML;
}

当然,在使用这个之前,最好检测一下浏览器是否支持这个方法。如下检测代码参考自jQuery源码。

var isSupportCreateHTMLDocument = ( function() {
    var body = document.implementation.createHTMLDocument( "" ).body;
    body.innerHTML = "<form></form><form></form>";
    return body.childNodes.length === 2;
} )();

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒