inner/outerHTML的兼容解决办法
来源:互联网 发布:淘宝消保在哪里交 编辑:程序博客网 时间:2024/05/17 16:02
HTMLElement.prototype.innerHTML setter = function (str) {
var r = this.ownerDocument.createRange();
r.selectNodeContents(this);
r.deleteContents();
var df = r.createContextualFragment(str);
this.appendChild(df);
return str;
}
HTMLElement.prototype.outerHTML setter = function (str) {
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var df = r.createContextualFragment(str);
this.parentNode.replaceChild(df, this);
return str;
}
HTMLElement.prototype.innerHTML getter = function () {
return getInnerHTML(this);
}
function getInnerHTML(node) {
var str = "";
for (var i=0; i<node.childNodes.length; i++)
str += getOuterHTML(node.childNodes.item(i));
return str;
}
HTMLElement.prototype.outerHTML getter = function () {
return getOuterHTML(this)
}
function getOuterHTML(node) {
var str = "";
switch (node.nodeType) {
case 1: // ELEMENT_NODE
str += "<" + node.nodeName;
for (var i=0; i<node.attributes.length; i++) {
if (node.attributes.item(i).nodeValue != null) {
str += " "
str += node.attributes.item(i).nodeName;
str += "=/"";
str += node.attributes.item(i).nodeValue;
str += "/"";
}
}
if (node.childNodes.length == 0 && leafElems[node.nodeName])
str += ">";
else {
str += ">";
str += getInnerHTML(node);
str += "<" + node.nodeName + ">"
}
break;
case 3: //TEXT_NODE
str += node.nodeValue;
break;
case 4: // CDATA_SECTION_NODE
str += "<![CDATA[" + node.nodeValue + "]]>";
break;
case 5: // ENTITY_REFERENCE_NODE
str += "&" + node.nodeName + ";"
break;
case 8: // COMMENT_NODE
str += "<!--" + node.nodeValue + "-->"
break;
}
return str;
}
- inner/outerHTML的兼容解决办法
- outerHTML的兼容处理
- JS里兼容ie和FF的outerHTML方法
- rgba()兼容的解决办法
- InnerHTML、OuterHTML、InnerText、OuterHTML的区别:
- outerHTML
- 图例分析outerHTML的用法
- innerHTML与outerHTML的区别
- innerHtml与outerHtml的区别
- outerHtml和innerHtml的区别
- js中outerHTML的问题
- innerHTML与outerHTML的区别
- rails 和fckeditor不兼容的解决办法
- min-width 不兼容ie6的解决办法
- 关于chrome showModalDialog不兼容的解决办法
- VS2012与win7不兼容的解决办法
- CSS中各个浏览器兼容的解决办法
- 关于兼容IE6的一些解决办法
- 指针和数组的对比
- 整型表达式比较的潜在危险
- 车丢了
- Eclips使用秘技(绝对经典)
- 二维、结构网格单相流SIMPLE 算法的C语言实现
- inner/outerHTML的兼容解决办法
- mo学习笔记1
- 用C#创建一个互动3D世界
- NGN学习笔记1
- C++的缺省参数与函数重载是正交特性吗?
- 写文件方式的日志
- CSDN博客
- 画铁路线Demo
- Eclipse插件之SQLExplorer