查找使用的选择器 jQuery
find selector used jQuery
我正在制作一个 jQuery 插件,我想知道是否有一种方法可以找到用户用来应用该插件的选择器。例如,如果用户选择:
$(".myClass").pluginName();
然后插件会returnmyClass
,以后可以使用。我有办法做到这一点吗?
检查调试器中的 jQuery 对象,它有一个属性 selector
,其中包含用于创建集合的选择器。我不知道这是否 public API 您可以指望在未来的版本中保持可用,或者这是否是一个可能会在没有警告的情况下更改的实现细节。
与其他评论者一样,我质疑引用选择器的必要性。在您的插件中,您可以简单地遍历所有选定的元素,而无需再次通过 DOM 执行搜索。只需在您的插件中使用 this.each()
。
假设这是您的选择:
var $selection = $('a, i');
如果要获取选择器,只需使用 selector
属性 :
var selector = $selection.selector;
在这种情况下,selector
变量的值将是字符串 a, i
。
注意:
虽然 selector
属性 包含在 jQuery 1.11.0 和 jQuery 2.1.3 中,但它似乎在 jQuery 3.0 中缺失.0 阿尔法 1。这可能是为什么 :
The .selector
property was deprecated in jQuery 1.7 and is only
maintained to the extent needed for supporting .live()
in the jQuery
Migrate plugin. It may be removed without notice in a future version.
如果您能想出一个很好的理由说明此功能应保留在 jQuery 核心中,您可能想向 jQuery 开发团队提出申诉并请求他们更改决定删除该功能。
我正在制作一个 jQuery 插件,我想知道是否有一种方法可以找到用户用来应用该插件的选择器。例如,如果用户选择:
$(".myClass").pluginName();
然后插件会returnmyClass
,以后可以使用。我有办法做到这一点吗?
检查调试器中的 jQuery 对象,它有一个属性 selector
,其中包含用于创建集合的选择器。我不知道这是否 public API 您可以指望在未来的版本中保持可用,或者这是否是一个可能会在没有警告的情况下更改的实现细节。
与其他评论者一样,我质疑引用选择器的必要性。在您的插件中,您可以简单地遍历所有选定的元素,而无需再次通过 DOM 执行搜索。只需在您的插件中使用 this.each()
。
假设这是您的选择:
var $selection = $('a, i');
如果要获取选择器,只需使用 selector
属性 :
var selector = $selection.selector;
在这种情况下,selector
变量的值将是字符串 a, i
。
注意:
虽然 selector
属性 包含在 jQuery 1.11.0 和 jQuery 2.1.3 中,但它似乎在 jQuery 3.0 中缺失.0 阿尔法 1。这可能是为什么 :
The
.selector
property was deprecated in jQuery 1.7 and is only maintained to the extent needed for supporting.live()
in the jQuery Migrate plugin. It may be removed without notice in a future version.
如果您能想出一个很好的理由说明此功能应保留在 jQuery 核心中,您可能想向 jQuery 开发团队提出申诉并请求他们更改决定删除该功能。