Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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插件,原始元素的get.data()_Javascript_Jquery_Jquery Plugins - Fatal编程技术网

Javascript jQuery插件,原始元素的get.data()

Javascript jQuery插件,原始元素的get.data(),javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我已经创建了一个下拉jquery插件。它隐藏了一个常规的html select,并添加了一个div和一些子div作为选项来显示 按照一般的经验法则,我正在初始化插件,如下所示: $.fn.dropdown = function (options) { return this.each(function() { if (undefined === $(this).data('dropdown')) { var dropdown = new $.dro

我已经创建了一个下拉jquery插件。它隐藏了一个常规的html select,并添加了一个div和一些子div作为选项来显示

按照一般的经验法则,我正在初始化插件,如下所示:

$.fn.dropdown = function (options) {
    return this.each(function() {
        if (undefined === $(this).data('dropdown')) {
            var dropdown = new $.dropdown(this, options);
            $(this).data('dropdown', dropdown);
        }
    });
};
我还将给select元素的任何类复制到替换div

当试图使用类作为选择器来获取元素的数据时,选择器显然是在返回元素数组中生成的div

这将导致div出现“数据未定义”错误


我是否应该更改插件中的某些内容,或者希望使用插件的人在初始化后使用id而不是类来选择元素,从而获取数据?

您在这里真的没有太多选项。在$.dropdown构造函数中,只需再创建一个对此实例的数据引用。它非常便宜,因为它只是一个对象引用:

$.dropdown = function(element, options) {
    // ... newElement is what replaces original select
    newElement.data('dropdown', this);
};

你真的没有很多选择。在$.dropdown构造函数中,只需再创建一个对此实例的数据引用。它非常便宜,因为它只是一个对象引用:

$.dropdown = function(element, options) {
    // ... newElement is what replaces original select
    newElement.data('dropdown', this);
};

如何使用此功能?$'选择“.dropdown”?我将它与类选择器$”一起使用。选择“.dropdown;这是我的问题,如果我发现了类的下拉列表,请给出更多的代码。我执行你的代码并面对这个错误:$。下拉列表不是一个结构。我必须发布整个插件,想想你如何使用这个函数?$'选择“.dropdown”?我将它与类选择器$”一起使用。选择“.dropdown;这是我的问题,如果我发现了类的下拉列表,请给出更多的代码。我执行了你的代码,遇到了这个错误:$。下拉列表不是一个构造器,但是我必须发布整个插件