javascript - 正在向归类为扩展 DOM 元素的元素添加方法

标签 javascript

我听说扩展 DOM 元素不好......

这是否被归类为扩展 DOM 元素,如果是的话,这很糟糕吗?

它适用于 IE7+(已测试)。那么为什么不呢?

var app = {};

app.get = function( selector ){
  return this.wrap( document.getElementById( selector ) );
};

app.wrap = function( element ) {
    for( var func in this ) {
        element[func] = this[ func ];
    }
    return element;
};

app.text = function( text ) {
     alert( text );   
}

app.get('test').text('Welcome');

演示:http://jsfiddle.net/gzb6C/2/

最佳答案

它通常被认为是“坏的”,因为它可能会导致冲突。举个例子,在某个时间点,Ext JS 和prototype JS 都在函数原型(prototype)中添加了一个 defer 方法,所以你可以调用:

foo.defer();

问题是,每个库都有不同的延迟参数,因此当您包含这两个库时,会导致很多事情中断,因为两个库都会使用以下参数调用 defer()图书馆正在等待。

只要您注意导入哪些库,同样的可能会发生在您身上。如果这是一个小型个人项目,那可能没问题。

关于javascript - 正在向归类为扩展 DOM 元素的元素添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18008661/

相关文章:

javascript - 将 wordpress 中的 javascript 与 wp-rocket 结合使用时,元素不会播放

javascript - 如何在页面加载后执行功能在angularjs中完成

javascript - 如何使用 Objective-C 解析需要 JavaScript 的 HTML

javascript - 使用 JavaScript 仅从 DynamoDB 中的一行中检索特定数据

javascript - 通过单击动态创建的引导 Accordion 内的链接发送 AJAX 请求

javascript - 如何知道一个元素是否对用户可见?

javascript - 将 console.count() 保存为整数的方法?

javascript - jQuery中符号$的含义是什么?

php - 从 SQL 数据库中缓存数据以进行排序

javascript - JQuery 从 tr 空格问题中获取 th 或 td 文本