gpt4 book ai didi

jquery - 创建一个新的 jquery 链式方法

转载 作者:行者123 更新时间:2023-12-01 06:29:53 26 4
gpt4 key购买 nike

如何在 jQuery 中编写新的链式方法?我的 jQuery 有一个非常程序化的风格:

$("#SaveButton").click(function () {
Foo($("#SubTotal"));
Foo($("#TaxTotal"));
Foo($("#Total"));
Bar($("#SubTotal"));
Bar($("#TaxTotal"));
Bar($("#Total"));
});

如何在 jQuery 中创建 .foo() 方法,以便我可以编写:

$("#SaveButton").click(function () {
$("#SubTotal,#TaxTotal,#Total").foo().bar();
});

在一个相关的点上 - 有没有一种简单的方法(在 Visual Studio 或 Notepad++ 或其他东西中)来查找并替换所有 Foo($("#selector"));$("#selector").foo();?

最佳答案

您可以通过以下方式定义自定义 jQuery 函数:

$.fn.foo = function(){
//`this` is a jQuery object, referring to the matched elements (by selector)
return this.each(function(index, element){
//`this` inside this function refers to the DOM element
var $this = $(this); //`this` is wrapped in a jQuery object.
});
}

在此定义之后,每个 $("...") 对象都会有一个 foo 方法。

如果您不确定 jQuery 对象是否由美元定义,请将您的定义包装在此函数中:

(function($){
//Within this wrapper, $ is the jQuery namespace
$.fn.foo = function(){
//...
}
})(jQuery);

关于jquery - 创建一个新的 jquery 链式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7800355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com