Получить css-селектор элемента, мой плагин применен на

0

Я создаю плагин jQuery, который применяется к такому элементу контейнера.

$('#container').myPlugin();

В этом плагине я пытаюсь получить один и тот же элемент из другой страницы .get().

$.get('page.php', function(data) {
    data = $.parseHTML(data);
    data = $('<div/>').html(data);

    data = data.find( myContainer );

}, 'html');

Проблема заключается в myContainer -variable. Мне нужен CSS-селектор, который был применен к моему плагину, есть ли способ получить его?

Я нашел это решение, но оно кажется довольно сложным. Может быть, есть более легкое решение, особенно для моего дела (плагин не объект)?!

Я мог бы использовать еще один вариант в своем плагине, чтобы получить селектор, но я бы хотел его избежать, поскольку он будет напоминать удвоенную информацию для пользователя. (Применять плагин к контейнеру и ссылаться на него в опциях).

Теги:

2 ответа

0

Я бы использовал data-*:

<a href="/resource" data-target="#element"></a>

Затем вы можете легко прочитать значение в своем контексте плагина, используя метод jQuery .data('target'). Использование селектора не является гибким решением, есть много случаев, когда логика потерпит неудачу. Добавление полезного/важного атрибута к элементу не делает разметку грязной.

  • 0
    Я думаю, я не совсем понимаю это. Если бы я добавил атрибут data в свой контейнер, для этого потребовалось бы другое действие от пользователя, и я не смог бы добавить его из плагина, так как мне нужно было бы знать селектор, используемый для элемента, мой плагин был применяется на.
0

Хорошо, я думаю, что нашел решение:

var mySelector = $(this).selector

похоже работа.


Важный
.selector устарел в jQuery 1.7 и был удален в jQuery 1.9.

  • 0
    Что такое .selector ?
  • 1
    Обратите внимание, что свойство selector устарело в jQuery 1.7 и удалено в jQuery 1.9.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню