Альтернатива свойству .selector теперь, когда оно удалено в jQuery 1.9

Начиная с jQuery 1.9.selector свойство объектов jQuery было удалено. (Я'я немного запутался, почему именно). Я на самом деле использую это в нескольких уникальных сценариях, и я знаю, что мог бы сделать другие вещи, чтобы предотвратить это.Просто интересно, если кто-нибудь знает другой способ захватить селектор с 1.9?

$('#whatever').selector // (would of returned '#whatever')  

Один пример того, где мне нужно.Селекторный когда у меня уже есть группа флажков поназваниеи я хочу видеть, в этой группе, какаяпроверено:

jsFiddle DEMO

var $test = $('input[name="test"]');

console.log( $test );
console.log( $(':checked', $test).attr('id') ); // returns --undefined--

console.log( 'now with .selector: ');
console.log( $($test.selector + ':checked').attr('id') ); // returns correct

Из документов:Свойство .selector для объектов jQuery

Остальной целью устаревшего свойства .selector объекта jQuery является поддержка устаревшего события .live (). В 1.9 jQuery больше не пытается поддерживать это свойство в цепочечных методах, поскольку использование цепочечных методов никогда не поддерживалось с помощью .live (). Не используйте свойство .selector для объекта jQuery. Плагин jQuery Migrate не пытается поддерживать это свойство.

 PlantTheIdea19 февр. 2013 г., 19:29
не возражаете, предоставив один из немногих уникальных сценариев? (код, а не описание, пожалуйста)
 marsze19 февр. 2013 г., 19:32
Почему бы не хранить селектор отдельно?
 thdoan15 июн. 2017 г., 05:00
 Felix Kling19 февр. 2013 г., 19:39
Да, хорошо, мы всегда узнаем что-то новое :)
 Dave Methvin28 мар. 2013 г., 17:54
Чтобы ответить Феликсу Клингу, там цитируется официальное заявление, которое выглядит довольно однозначно:Не используйте.selector свойство объекта jQuery.
 Felix Kling19 февр. 2013 г., 19:30
$('#whatever').selector все еще похоже на работу. В документации сказаноВ 1.9 jQuery больше не пытается поддерживать это свойствов цепных методах [...]», Хотьapi.jquery.com/selector утверждает, что это было удалено. Я нене знаю, этонемного сбивает с толку. Я думаю, что официальное заявление могло бы прояснить это, может быть, вы можете разместить в их списке рассылки / форум / группа / что угодно.
 Felix Kling19 февр. 2013 г., 19:37
Хм, в вашем случае использования этос чем.filter для:api.jquery.com/filter. ,$test.filter(':checked').attr('id')$(':checked', $test) не может работать, потому чтоinput элементы неу меня нет потомков.
 Mark Pieszak - Trilon.io19 февр. 2013 г., 19:38
@FelixKling, черт возьми, это работает лучше: / Ну дерьмо, я думаю, что 'Это достаточно простая альтернатива. Welp, это 'смущает :)
 Mark Pieszak - Trilon.io15 июн. 2017 г., 17:43
Этот вопрос был задан до этого
 Mark Pieszak - Trilon.io19 февр. 2013 г., 19:42
Просто положи.filter() вещь как пример для ответа. @FelixKling

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

Решение Вопроса

Там не должно быть много причин, чтобы на самом деленеобходимость оригинальный селектор. В вашем конкретном случае использования, если вы хотите сузить набор выбранных элементов, вы можете использовать.filter [документы]:

$test.filter(':checked').attr('id')

$('#whatever').selector кажется, все еще работает, хотя. В документации сказаноВ 1.9 jQuery больше не пытается поддерживать это свойствов цепных методах [...]», Хотьhttp://api.jquery.com/selector утверждает, что он был удален в 1.9. Я нене знаю, этонемного сбивает с толку.

 Mark Pieszak - Trilon.io19 февр. 2013 г., 19:45
Спасибо! Должно быть, у меня был мозговой перфоманс ... чрезмерно отреагировал, что он ушел, ха-ха

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