gpt4 book ai didi

javascript - 如何将函数变成 jQuery 插件

转载 作者:行者123 更新时间:2023-11-28 15:22:35 27 4
gpt4 key购买 nike

这是我的 jsFiddle:http://jsfiddle.net/jsFiddlePlayer/vhg7csb7/10/

我正在尝试实现此 StackOverflow question 中的答案作为一个 jQuery 插件,但运气不佳。 getParameterByName 函数读取 URL 的查询字符串变量并返回参数中指示的变量。但是,我的代码一直说:

.getParameterByName is not a function

我的jQuery代码如下:

$(document).ready(function(){
var paramABC = $.getParameterByName('abc');
alert(paramABC);
});

(function ($) {
/* Gets value of querystring variable by name */
$.fn.getParameterByName = function (name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(('http://www.myexample.com/?abc=1&def=2').search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
};
}(jQuery));

请注意,我在上述函数中硬编码了一个 location,因为 jsFiddle 在 URL 上没有查询字符串变量。该行的原始代码是:

results = regex.exec(location.search);

如果此代码有效,它将返回 1(因为查询字符串中存在 abc=1)并将其显示在 alert() 中>。我究竟做错了什么?谢谢。

最佳答案

您几乎可以使用 $ 而不是 $.fn,因为 $.fn 是 jQuery 原型(prototype)的别名,它需要一个选择器

$.getParameterByName = function (name) {
//
};

注意:先定义插件代码,然后使用它。

一本好书What is the difference between $ and $.fn?

DEMO

关于javascript - 如何将函数变成 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30628325/

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