`
sbfivwsll
  • 浏览: 64430 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

Firefox下为dom添加innerText方法(javascript中getter、setter方法的定义)

 
阅读更多

在火狐下运行:
o = {
value:9
}
Object.prototype.__defineGetter__("mm",function(){return "中华人民共和国"})
alert(o.mm)

 


在火狐下运行,可以扩展innerText
第一种:
if(typeof(HTMLElement)!="undefined" && !window.opera)
{
HTMLElement.prototype.__defineGetter__("innerText",function () {
return this.textContent;
}
);

HTMLElement.prototype.__defineSetter__("innerText",function (setValue) {
this.textContent = setValue;
});
}
第二种:
if(typeof HTMLElement!="undefined"){
HTMLElement.prototype.innerText
getter = function(){
var tmp = this.replace(/<br>/gi,"/n");
return tmp.replace(/<[^>]+>/g,"");
}

 

HTMLElement.prototype.innerText
setter = function(txtStr){
var parsedText = document.createTextNode(txtStr);
this = "";
this.appendChild( parsedText );
}
}

 


使用getter和setter(尽量不要这样使用,因为 在JavaScript 1.5的开发过程中,有一种简短的使用类似getter = 或者 setter = 定义对象的方法。这样的语法在JavaScript 1.5版本中会获得一个警告,以后的版本也不会支持,所以我们要避免这样的语法出现。):
var o = {
a:7,
//下面两句是其实是实现对象的num属性
get num() { return this.a+1; },
set num(x) { this.a = x/2; }
};
o.num=100;
alert(o.num)//在火狐中弹出51

分享到:
评论

相关推荐

    firefox浏览器不支持innerText的解决方法

    在提供的代码中,开发者通过检测浏览器类型(通过`navigator.userAgent`)来判断是否为Firefox,然后使用JavaScript的原型链(prototype)来添加`innerText`的getter和setter方法。这是通过`__defineGetter__`和`__...

    javascript_DOM操作

    在JavaScript中,我们可以利用DOM API来创建、修改、删除和查找网页上的任何元素,实现动态更新和交互。 **DOM的基本操作** 1. **获取元素**: `document.getElementById()` 是最基础的获取元素方法,通过ID查找。...

    让innerText在firefox火狐和IE浏览器都能用的写法

    这里提供了一个JavaScript代码片段,通过检测浏览器类型来判断是否需要定义`innerText`,如果浏览器是Firefox,就添加自定义的`innerText` getter 和 setter 方法。 首先,定义一个名为`isIE`的函数,通过检查用户...

    Javascript--DOM.rar_javascript

    总之,JavaScript DOM是Web开发的核心技能之一,它为动态网页提供强大的能力。通过理解和熟练掌握DOM操作,开发者可以实现丰富的交互效果和功能,提升用户体验。在实际项目中,高效地使用DOM方法和事件处理是优化...

    Javascript在IE和FireFox中的兼容处理

    - IE允许在DOM元素上直接添加非标准属性,如`element.selfAttr`,而Firefox则需要通过`element.getAttribute('selfAttr')`获取。 3. **对象获取** - IE支持`document.all`来获取所有元素,Firefox则不支持。应...

    Javascript的IE和Firefox(火狐)兼容性

    ### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...

    IE和Firefox的Javascript兼容性总结[定义].pdf

    JavaScript兼容性问题一直以来都是Web开发中的重要议题,尤其是在IE与Firefox之间。这两个浏览器对JavaScript的实现存在诸多差异,导致开发者需要进行额外的工作以确保代码在各个浏览器上的表现一致。以下是一些关键...

    Firefox浏览器兼容JS脚本供参考

    为了在Firefox中模拟innerText的行为,可以通过`__defineGetter__`和`__defineSetter__`方法为HTMLElement原型添加getter和setter,使其在Firefox中表现得像innerText一样。 6. **长度兼容性** Firefox要求长度值...

    javascript在IE和Firefox中兼容性问题

    IE提供了ActiveXObject,可以创建XMLDOM对象,如`new ActiveXObject("MSXML2.DOMDocument")`,而Firefox和其他遵循W3C标准的浏览器则使用`document.implementation.createDocument()`方法。 2. **ChildNodes测试....

    js_HTML_Dom操作练习

    1. **获取元素**:在DOM中,`document.getElementById()`是最常用的获取元素的方法,通过元素的ID属性来定位。除此之外,还有`document.querySelector()`和`document.querySelectorAll()`,它们分别返回匹配CSS选择...

    JAvascript Dom编程艺术 图片库

    JavaScript DOM编程艺术是一本专为前端开发者准备的基础教程,它深入浅出地讲解了如何使用JavaScript操作DOM(Document Object Model)来实现动态网页效果。DOM是HTML和XML文档的结构化表示,允许程序和脚本动态更新...

    IE和火狐下获取单元格内容的共通方法

    尤其是对于一些特定的DOM操作,不同的浏览器可能有不同的实现方式,导致代码在Internet Explorer(IE)和Firefox等浏览器中的表现不一致。"IE和火狐下获取单元格内容的共通方法"这个主题就聚焦于解决这个问题,即...

    jQuery 3.0 的 setter和getter 模式详解

    jQuery 3.0中的setter和getter模式为开发者提供了一种灵活且强大的方式来操作DOM元素的属性。通过函数重载的思想,jQuery的API允许开发者以一种直观的方式来获取或设置值,而无需编写额外的getter或setter方法。这...

    让FireFox支持innerText的实现代码

    这段代码首先检查当前浏览器是否为Firefox,如果是,则通过__defineGetter__和__defineSetter__方法扩展HTMLElement原型,添加innerText的getter和setter。getter方法`getInnerText`递归遍历元素的子节点,根据...

    韩顺平javascript笔记(最全整理 dom编程 oop 基础语法)

    JavaScript通过DOM API可以操作页面上的元素,例如通过`document.getElementById`、`document.querySelector`或`document.querySelectorAll`找到特定元素,通过`innerHTML`、`innerText`或`textContent`修改元素内容...

    DOM和BOM的使用

    innerText 是指 DOM 中的 innerText 属性,它允许开发者通过 JavaScript 修改元素的文本内容。 nodeValue nodeValue 是指 DOM 中的 nodeValue 属性,它允许开发者通过 JavaScript 修改元素的值。 元素内容 元素...

    让firefox支持IE的一些方法的javascript扩展函数代码

    通过Object.prototype.__defineGetter__和Object.prototype.__defineSetter__方法,可以为HTMLElement类动态添加innerText的getter和setter。innerText方法允许开发者获取或设置HTML元素内的文本内容,与textContent...

    JavaScript DOM元素常见操作详解【添加、删除、修改等】

    DOM(文档对象模型)是JavaScript操作网页的基石。它是一种通过脚本访问和更新文档(如HTML和XML)内容的API。DOM将文档结构视为一棵节点树,包括各种节点类型:元素节点、属性节点和文本节点。 元素节点代表文档中...

Global site tag (gtag.js) - Google Analytics