Напишите плагин jQuery, который возвращает значения

Я пишу плагин JQuery, который хранит некоторые данные в некоторых случаях.

Я хотел бы написать это очень гибким способом, где я могу изменить входной параметр, чтобы получить некоторое значение, которое было сохранено плагином.

Объяснение:

Когда я звоню$("#any").myPlugin()мой плагин инициализирует созданиеdiv и немногоa внутри. Нажав наa будет хранить его.index() с использованием.data() метод. Если я позвоню$("#any").myPlugin("getSelection") тогда я хотел бы получить значение, сохраненное с.data().

Что я попробовал:

(function ($) {
    $.fn.myPlugin = function (action) {
        if (action == null) action = "initialize";

        return this.each(function ($this) {
            $this = $(this);

            if (action == "initialize") {
                $this.html('<div></div>');
                var div = $("div", $this);

                div.append('<a>A</a>').append('<a>B</a>').append('<a>C</a>');

                div.children("a").each(function (i) {
                    $(this).click(function (event) {
                        // Here I store the index.
                        $this.data($(this).index());
                        event.preventDefault();
                        return false;
                    });
                });

                return $this;
            } else if (action == "getSelection") {
                // With this action, I tried to get the stored value.
                return $this.data("selectedValue");
            }
        });
    };
})(jQuery);

Простой вызов для создания элементов:

$("#someElement").myPlugin();

И здесь я попытался получить индекс без успеха:

alert($("#someElement").myPlugin("getSelection"));

Итак, можно ли сделать то, что я пытаюсь?

Ответы на вопрос(2)

Ваш ответ на вопрос