javascript - 向 jQuery 元素添加函数

标签 javascript jquery

我正在尝试使用 jQuery 将函数添加到对象。 不幸的是,这并没有按预期工作。 This jsfiddle shows a minimal example of my problem. 我刚刚开始使用 jQuery 并阅读文档,但我需要一个提示,告诉我应该朝哪个方向解决我的问题。

谢谢。

<ul id="ul_list">
    <li id="li_a">a</li>
</ul>
$("#li_a").speak = function () {
    alert("Hello I'm a!");
};

var button = $('<button/>').html('speak');
button.click(function () {
    $('#li_a').speak();
});
button.appendTo("body");

最佳答案

您错误地添加了成员​​函数。为此,您需要extend jQuery's prototype object 。您需要附加到$.fn.speak:

$.fn.speak = function () {
    alert("Hello I'm a!");
};

var button = $('<button/>').html('speak');
button.click(function () {
    $('#li_a').speak();
});

关于javascript - 向 jQuery 元素添加函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26985006/

相关文章:

javascript - 为什么 3.toString() 抛出语法异常而 3..toString() 工作正常?

单击列表项时不会调用 Javascript 函数

Jquery的append()方法和链顺序调试

javascript - JQuery - 在图像上绘制矩形

javascript - 具有相同名称的类的 jQuery 过滤结果

javascript - 路由时无法检索组件模板

javascript - 在 Sublime Text 2 中创建 javascript 函数 stub 的快捷方式

javascript - Angular/ ionic ng-click 不更新 View ,但它在模型中更新

javascript - Bootstrap 下拉菜单不起作用

jQuery : Set Value for a Range in a Dictionary