Как получить строку селектора из метода on? - PullRequest
0 голосов
/ 30 марта 2012

Я создаю плагин jQuery, который вызывает метод on.Теперь мне нужно получить строку селектора внутри этого метода.Есть ли способ, которым я могу это сделать?

(function($) {

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

            $(document).on('click', 'a[href="#post"]', function(event) {
                event.preventDefault();

                // I need to get the 'a[href="#post"]' string from here
        });
    });
}
})(jQuery);

Спасибо.

Ответы [ 3 ]

1 голос
/ 30 марта 2012

действительно не уверен, что вы ищете, но у вас есть полный доступ к элементу в методе on() с использованием this

(function($) {

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

        $(document).on('click', 'a[href="#post"]', function(event) {
            event.preventDefault();

            alert( $(this).attr('href') );
       });
    });
  };
})(jQuery);

Что касается фактической строки селектора ... она жестко закодированав ваш пример, так что не совсем уверен, что вы спрашиваете относительно этой части

1 голос
/ 30 марта 2012

jQuery не предоставляет эту информацию, но на ум приходят другие подходы.Например:

(function() {
    var selector = 'a[href="#post"]';
    $(document).on('click', selector, function(event) {
        event.preventDefault();
        console.log(selector);
    });
})();

См. Это в действии .

Однако это довольно сомнительная практика, и, вероятно, есть и другие,Проще, способы достичь своей цели.

1 голос
/ 30 марта 2012

См. Мой пост здесь , если вам нужно отобразить тег "a" в виде строки

$('<div>').append($this.clone()).html();

jsFiddle, доступный здесь

http://jsfiddle.net/F3Vrk/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...