Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Из селектора Jquery в стандартный JS (https://javascript.ru/forum/misc/79945-iz-selektora-jquery-v-standartnyjj-js.html)

Biotoxsin 09.04.2020 18:18

Из селектора Jquery в стандартный JS
 
Здравствуйте!

Я изучаю разработку плагинов. Подскажите в случае если в плагине пересекаются несколько типов обращения из JS и Jquery, как можно получить следующий селектор для JS ?
$('.test').Plagin()


Как вставить селектор .test в такой вызов для querySelector который находится в файле плагина?

document.querySelector().offsetWidth

рони 09.04.2020 18:22

Biotoxsin,
:-?

Biotoxsin 09.04.2020 18:23

Цитата:

Сообщение от рони (Сообщение 522550)
Biotoxsin,
:-?

Это невозможно, да?

рони 09.04.2020 18:26

Biotoxsin,
я пока жду переводчика, не понимаю о чём вопрос.

Biotoxsin 09.04.2020 18:38

Цитата:

Сообщение от рони (Сообщение 522553)
Biotoxsin,
я пока жду переводчика, не понимаю о чём вопрос.

Ну смотрите я ведь не могу использовать jquery селектор для получения данных обычного JS
$('.test').offsetWidth()


Значит нужно получать селектор методами стандартными:

document.querySelector('.test')


А можно ли в самом плагине запросить селектор который был получен через jquery а именно сам '.test' для ввода его через любую переменную в querySelector?

рони 09.04.2020 18:38

Biotoxsin,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$.fn.plugin = function() {
var selector = this.selector;
alert(selector);
//document.querySelector(selector).offsetWidth

}
$('.test').plugin()
});
  </script>
</head>
<body>
</body>
</html>

рони 09.04.2020 18:40

Цитата:

Сообщение от Biotoxsin
Ну смотрите я ведь не могу использовать jquery селектор для получения данных обычного JS

достаточно добавить индекс нужного элемента
$('.test')[0].offsetWidth

Biotoxsin 09.04.2020 20:27

Цитата:

Сообщение от рони (Сообщение 522556)
достаточно добавить индекс нужного элемента
$('.test')[0].offsetWidth

Но ведь в версии jquery 3.0 .selector удалили?!

рони 09.04.2020 20:33

Цитата:

Сообщение от Biotoxsin
Но ведь в версии jquery 3.0 .selector удалили?!

причём тут селектор и доступ к элементу по индексу???

рони 09.04.2020 20:35

Biotoxsin,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  <script>
$(function() {
$.fn.plugin = function() {
alert($('.test')[0].offsetWidth);
alert(this[0].offsetWidth);
}
$('.test').plugin()
});
  </script>
</head>
<body class="test">
</body>
</html>


Часовой пояс GMT +3, время: 13:13.