Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已删除jQuery.selector属性,解决方法?_Javascript_Jquery - Fatal编程技术网

Javascript 已删除jQuery.selector属性,解决方法?

Javascript 已删除jQuery.selector属性,解决方法?,javascript,jquery,Javascript,Jquery,我正在尝试获取用于调用当前脚本的选择器,但我需要的属性当然是 有解决办法吗?以下是我想要实现的基本目标: (function($) { $.fn.myplugin = function(options) { return this.each(function() { console.log($(this).selector); }); } }(jQuery)); //Somwehere else: $('.theClas

我正在尝试获取用于调用当前脚本的选择器,但我需要的属性当然是

有解决办法吗?以下是我想要实现的基本目标:

(function($) {
    $.fn.myplugin = function(options) {
        return this.each(function() {
            console.log($(this).selector);
        });
    }
}(jQuery));

//Somwehere else:

$('.theClassISelected').myplugin();  //Should console.log('.theClassISelected')
我需要在控制台中查看
。ClassiseSelected
(或我用来调用函数的原始选择器的某种形式),但是由于selector属性已从jQuery中删除,因此不再可能


我不明白为什么它被删除了——我在谷歌上搜索这个问题已经有一段时间了,我看到的都是2011-2012年的StackOverflow答案,建议使用
选择器
属性。我想它在某种程度上是有用的,但不再有用了?

来自jQuery文档:

需要使用选择器的插件应该在初始化期间将调用方传递到选择器中,作为插件参数的一部分


另外,文档还提到选择器属性不可靠,因为“因为后续的遍历方法可能已经更改了集合。”

我甚至不确定它会在哪里,但您可以在jQuery 1.8源代码树中搜索它:之前有讨论。看看是否有帮助。。[现在在jQuery 1.9中删除了.selector属性的替代方法][1][1]:出于好奇,您为什么需要该选择器?您可以跟踪此属性的弃用历史。是的,但是
$('.theClassIsSelected').myplugin($('.theClassIsSelected')在我看来更糟。@Jaxo同意。。。这很难看,但我看不到另一种方法来访问选择器:/@broaded和cfs我没有否决投票,不知道它来自哪里。StackOverflow说“这篇文章的一个新答案”,我点击它发现post insta被否决了。反对票@Jaxo传递的是字符串而不是jQuery对象。@Jaxo我没有说你对这个答案投了反对票,我是在和匿名的反对票者说话;)