Я создаю плагин jQuery, который применяется к такому элементу контейнера.
$('#container').myPlugin();
В этом плагине я пытаюсь получить один и тот же элемент из другой страницы .get()
.
$.get('page.php', function(data) {
data = $.parseHTML(data);
data = $('<div/>').html(data);
data = data.find( myContainer );
}, 'html');
Проблема заключается в myContainer
-variable. Мне нужен CSS-селектор, который был применен к моему плагину, есть ли способ получить его?
Я нашел это решение, но оно кажется довольно сложным. Может быть, есть более легкое решение, особенно для моего дела (плагин не объект)?!
Я мог бы использовать еще один вариант в своем плагине, чтобы получить селектор, но я бы хотел его избежать, поскольку он будет напоминать удвоенную информацию для пользователя. (Применять плагин к контейнеру и ссылаться на него в опциях).
Я бы использовал data-*
:
<a href="/resource" data-target="#element"></a>
Затем вы можете легко прочитать значение в своем контексте плагина, используя метод jQuery .data('target')
. Использование селектора не является гибким решением, есть много случаев, когда логика потерпит неудачу. Добавление полезного/важного атрибута к элементу не делает разметку грязной.
Хорошо, я думаю, что нашел решение:
var mySelector = $(this).selector
похоже работа.
Важный .selector
устарел в jQuery 1.7 и был удален в jQuery 1.9.
.selector
?
selector
устарело в jQuery 1.7 и удалено в jQuery 1.9.
data
в свой контейнер, для этого потребовалось бы другое действие от пользователя, и я не смог бы добавить его из плагина, так как мне нужно было бы знать селектор, используемый для элемента, мой плагин был применяется на.