如何在javascript中定义dom对象的函数

lat*_*ere 3 html javascript jquery

这是一个更广泛问题的一部分.它受到的关注度很低,所以请让我问一下我自己无法实现的唯一部分.如何为dom对象注册类似jquery的javascript函数?说我有一个以下的HTML页面:

<html><body>
  <div id = "table"/>
  <div id = "chart"/>
</body></html>
Run Code Online (Sandbox Code Playgroud)

并希望能够打电话$('#table').update()$('#chart').update()?我需要那些更新函数来包含不同的逻辑和局部变量,例如从中加载数据的不同url.对不起,可能是菜鸟.

UPDATE

如果我理解正确,插件是一个可以处理任何对象的全局命名空间中的函数.我宁愿把不同的功能与不同的元素联系起来.那是因为我认为将不同的update函数与不同的对象联系起来会更容易,而不是写一个更新函数,对于每个对象必须调查它是否适用,如果是,则如何.

Jam*_*lly 6

你所追求的是jQueryfn.extend():

$.fn.extend({
    update: function() {
        /* Required code. */
    }
});
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地调用.update()一个jQuery对象来执行该函数:

$('myElement').update();
Run Code Online (Sandbox Code Playgroud)

作为一个示例用法,如果我们想记录id一个元素,我们可以将我们的update()函数定义为:

$.fn.extend({
    update: function() {
        console.log("ID = " + this.id);
    }
});
Run Code Online (Sandbox Code Playgroud)

然后打电话:

$('#table').update();
Run Code Online (Sandbox Code Playgroud)

哪个会记录:

ID =表

  • 你回答的小错字; 上传应该更新;) (3认同)