В чем разница между $(var) и var?

Я понял, что вы можете использовать элемент DOM в качестве селектора jQuery, например $(document).
Так почему же функция jQuery attr() работает в обоих этих случаях?

let v = $("#nodeID");
//First case
$(v).attr("href","www1"); //works
//Second case
v.attr("href","www2"); //also works

Какая разница?

оба одинаковые, никакой разницы не назначается в качестве эталона.

Murtaza Hussain 03.05.2019 12:08

@MurtazaHussain — Ты ошибаешься. $(v) не создает ссылку на v (или на тот же объект, на который v уже ссылается)

Quentin 03.05.2019 12:17
v уже является объектом jquery, поэтому вам не нужно снова $(v) (если вы не хотите его клонировать)
Pete 03.05.2019 13:04

Повторите ваш удаленный вопрос с es: Хороший скриншот. Это имя функции-конструктора, используемой для создания объекта, на который вы смотрели. Название предполагает, что вы смотрите на результат минимизированного кода, но вы можете увидеть тот же формат, если сделаете это в консоли Chrome: function e() { } new e; Вы увидите e { } в выводе. (Кстати, в комментарии к вопросу вы казаться думаете, что я проголосовал против вопроса. Я этого не сделал. Часто бывает так, что человек, комментирующий, является нет человеком, который проголосовал против.)

T.J. Crowder 19.05.2019 15:02

@T.J.Crowder действительно это уменьшенная версия, и я использую «prettify» в «источниках» в «инструментах разработчика». Большое спасибо, чувак, очень помог.

Mekacher Anis 19.05.2019 15:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
58
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Когда вы передаете объект jQuery в $, он возвращает объект jQuery, содержащий те же элементы, что и исходный объект jQuery, который вы передали. Они в основном одинаковы (хотя объекты разные ===). Вы можете вкладывать объекты jQuery в $ столько, сколько хотите, это не будет иметь значения, это просто странно.

$($($('div'))).text('foo');
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div></div>

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

selection
Type: jQuery
An existing jQuery object to clone.

Итак, вы клонируете var.

В данном контексте это совершенно бессмысленно. (Это может быть полезно, если вы собираетесь изменить значение, но вам нужно сохранить оригинал для использования в другом месте).

Другие вопросы по теме