javascript - 如何为 HTML 元素创建方法?

标签 javascript

我正在尝试创建一个简单、小型和基本的 javascript 框架,仅供学习之用。 但问题是我已经陷入了最基本的困境。

我正在尝试做这样的事情:

$('testdiv').testFunction();

我为此编写的代码:

var elementID;
var smallFramework = {

  $:function(id) {
    this.elementID = id;
  },

  testFunction:function() {
    alert(this.elementID);
  }

};
window.$ = smallFramework.$;

但作为返回我得到:

$('testdiv) is undefined

任何人都可以帮我解决这个小而简单的问题吗?

最佳答案

要获得您期望的行为,您需要 $ 函数返回一个具有名为 testFunction 的方法的对象。 尝试:

var smallFramework = // an object for namespacing
{
  $:function(id) // the core function - returns an object wrapping the id
  {
    return {                    // return an object literal
      elementID: id,            // holding the id passed in
      testFunction: function()  // and a simple method
      {
         alert(this.elementID);
      }
    };
  }
};

当然还有many other ways实现您想要的行为。

关于javascript - 如何为 HTML 元素创建方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/526526/

相关文章:

javascript - 我可以将日期字符串直接传递给 d3 条形图数据吗?

javascript - jQuery文本替换无法正常工作

Javascript 将名称 array() 加一

javascript - 从 Nodejs 获取子进程的进度输出

javascript - 在逗号分隔值的文本中捕获逗号

javascript - html表格内的计算

javascript - arr.push(arr.splice(n,1)) "swallows"被移动对象的属性

javascript - 为什么导航选项卡和选项卡 Pane 不起作用?

javascript - 正则表达式生成类似货币的格式

Javascript 无法使用 obj.x 获取属性