gpt4 book ai didi

javascript - 从 jQuery 插件操作字符串而不是选择器

转载 作者:行者123 更新时间:2023-12-02 20:05:54 26 4
gpt4 key购买 nike

我想创建一个像这样工作的插件:

var fmatted = $('someString').myFunction();

我通过以下方式开发了 jQuery 函数:

$(someSelector).someFunction();

我知道选择器会转换为 jQuery 对象,并且可以通过插件中的 this 使用。但是,如果我想使用字符串而不是选择器,我不确定如何在插件中访问该字符串。

基本上,我希望能够使用插件来操作选择器以外的其他东西,非常类似于 jQuery 的 .trim() 函数,但我不知道如何访问插件内的内容。

最佳答案

jQuery(选择器)[ docs ] (或 $(selector))用于创建包含与选择器匹配的元素的 jQuery 对象。尽管您可以创建一个忽略元素并检索原始选择器的方法,但这效率不高,并且更难以理解您的代码在做什么。

jQuery.trim()[ docs ] 并不是这样实现的。事实上,请注意 jQuery.trim() 根本不是 jQuery 对象上的方法!如果是的话,您可以像这样调用它:

jQuery("   foo   ").trim();

相反,你这样做:

jQuery.trim("   fooo   ");

.trim() 是一个方法,但不是 jQuery 对象的方法。它是 jQuery 构造函数本身的一个方法(在某些语言中,您将其称为“类方法”)。

您没有创建对象,并且参数永远不会被视为选择器。要自己添加这样的功能,您需要做的就是:

jQuery.someFunction = function(message) { alert(message); };

更惯用的是,jQuery.extend[ docs 的默认行为] 将为您执行此操作:

jQuery.extend({someFunction: function(s) { alert(s); } })

这就是您所需要的!

关于javascript - 从 jQuery 插件操作字符串而不是选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7423032/

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