使用document.implementation.createHTMLDocument对html进行转换
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;
} )();
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=1056