一种网上常见的方法是这样的:
1. var pro = window.HTMLElement.prototype;
2. pro.__defineGetter__("outerHTML", function(){
3. var str = "<" + this.tagName;
4. var a = this.attributes;
5. for(var i = 0, len = a.length; i < len; i++){
6. if(a[i].specified){
7. str += " " + a[i].name + '="' + a[i].value + '"';
8. }
9. }
10. if(!this.canHaveChildren){
11. return str + " />";
12. }
13. return str + ">" + this.innerHTML + "</" + this.tagName + ">";
14. });
15. pro.__defineSetter__("outerHTML", function(s){
16. var r = this.ownerDocument.createRange();
17. r.setStartBefore(this);
18. var df = r.createContextualFragment(s);
19. this.parentNode.replaceChild(df, this);
20. return s;
21. });
22. pro.__defineGetter__("canHaveChildren", function(){
23. return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
24. });
不过感觉getter实现方法应该这样:clone当前div,放入一个tempdiv中,然后取tempdiv的innerHTML这样效率应该高很多
setter实现方法:也可以放入div中循环appendChild节点,不过效率没有createContextualFragment这种高
没深入研究,欢迎指导
分享到:
相关推荐
压缩包中的`ff_outerHTML.html`文件很可能包含了一个示例,演示了如何在Firefox中使用上述方法解决`outerHTML`问题。通过打开这个文件,我们可以看到具体的代码实现和使用场景,从而加深理解和应用。 总的来说,...
- **innerText, textContent, outerHTML**:IE支持`innerText`和`outerHTML`,FF支持`textContent`。 - **id替代HTML元素**:IE允许使用id直接代替HTML元素,而FF不支持这种做法。 了解这些兼容性问题,对于编写...
- `(7)` `innerText`和`textContent`,`outerHTML`,IE支持`innerText`和`outerHTML`,FF支持`textContent`。 - `(8)` 使用ID代替HTML元素,IE允许,FF不允许。 5. **JavaScript中避免函数重名问题**: - `(1)` ...
7. Firefox不支持`outerHTML`属性,但可以通过创建临时元素并复制innerHTML和outerHTML来实现类似功能。 了解这些知识点对于Web前端开发者至关重要,它们涵盖了基础语法、正则表达式、字符串操作、浏览器兼容性、...
兼容firefox的 outerHTML,FF中没有outerHtml的方法 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange();...
7. **FF下的outerHTML**:Firefox不支持`outerHTML`属性,但可以通过创建新的元素,克隆原始元素,并设置新元素的innerHTML为原始元素的outerHTML来实现类似功能。 以上知识点涵盖了JavaScript的基础语法、字符串...
2.outerHTML 此方法可以用于对元素自身的快速替换,比如: 代码如下: ”hello”>Hello, I am a demo</p> $(‘hello’).outerHTML = ‘<p>Hello, I am a replacement’; 遗憾的是,firefox目前还不支持(我当前用fire...
1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange(); ...
对于“可像FF一般查看当前鼠标处的html元素(的outerHTML)”,这通常指的是使用浏览器的元素选择功能。在Chrome或Firefox的开发者工具中,当鼠标悬停在页面上时,会显示一个框高亮当前选中的元素。点击这个元素,...
- IE有innerText, outerText, outerHTML,FF没有,可以使用textContent和innerHTML。 - FF有HTMLElement, HTMLDivElement等接口,而IE没有。 - IE使用ActiveXObject创建XMLHttpRequest,FF使用原生的XMLHttpRequest...
WebBrowser1.OleObject.document.body.bgcolor := '#FF0000'; ``` 2. **设置背景图片**:通过`document.body.background`属性设置背景图片。 ```delphi WebBrowser1.OleObject.document.body.background := '...
xlsheet.Cells(1, 1).Interior.Color = 0x00FF66; // 设置单元格边框样式 xlsheet.Cells(1, 1).Borders.LineStyle = 1; ``` 此外,单元格还支持其他属性,如单元格格式等,具体可参考官方文档。 #### 三、使用...
innerText(IE)、textContent(FF)、innerHTML 26 outerText、outerHTML(少用) 26 value属性获取表单节点内容 26 (3) 访问节点的样式 27 使用节点对象的style属性对象改变样式 27 使用className设置...
在IE、Opera、Safari、Chrome中,可以通过重新设置outerHTML实现清空。而在FF中,可以尝试将值设为空字符串,例如`file.value = ""`。 - `textarea`类型:将文本区域的值设置为空字符串,例如`formObj.elements[i]....
- **受限制环境下的解决方法**:输入代码 `file:///::%7B645FF040-5081-101B-9F08-00AA002F954E%7D`,即可直接访问回收站。 ##### 3. 快速设置“控制面板” - **传统方法**:直接在地址栏输入“控制面板”,回车。...