Ответ 1
Вы можете использовать свойство selector
:
$('my_selector p').selector // my_selector p
версия устарела: 1.7
, удалено: 1.9
При вызове настраиваемого плагина, как я могу получить текущую селекторную строку?
$('my_selector p').my_plugin();
Хотелось бы вывести my_selector p
в мой script. Как я могу получить доступ к этой строке?
Вы можете использовать свойство selector
:
$('my_selector p').selector // my_selector p
версия устарела: 1.7
, удалено: 1.9
Отмена выбора селектора v. 1.7:
Если вы используете только идентификаторы и классы в качестве селекторов, вы можете использовать следующее:
var selector = (typeof($(this).attr('id')) !== 'undefined' || $(this).attr('id') !== null) ? '#' + $(this).attr('id') : '.' + $(this).attr('class');
Есть более чистые способы, но с момента удаления .selector из-за несогласованности между браузерами с 1.7, это был мой go-to.
jQuery.fn.getSelector = function() {
return this.data('selector');
};
С отключенным сектором я использую
index = document.getElementById('category').value
select = $("#category option[value=#{index}]")[0].innerHTM
всего две строки кода
или если вы действительно дешевы с линиями
select = $("#category option[value=#{document.getElementById('category').value}]")[0].innerHTML
Устаревшим, официальным советом является добавление селектора в качестве параметра в ваш вызов функции: https://api.jquery.com/selector/
Плагины, которые должны использовать селекторную строку в своем плагине, могут потребовать ее в качестве параметра метода. Например, плагин "foo" может быть записан как
$.fn.foo = function( selector, options ) { /* plugin code goes here */ };
и человек, использующий плагин, напишет
$( "div.bar" ).foo( "div.bar", {dog: "bark"} );
Резервный, да, но он всегда надежный.