Это правильный вопрос, который нужно задавать, пока вы учитесь, и это хорошо для вас!При этом один SO-пост не сможет ответить на него полностью, по крайней мере, так, как я думаю вы спрашиваете об этом, но я (мы) предоставлю вам все, что могу.
Начнем с того, что JavaScript взаимодействует с HTML через Document Object Model (DOM).Это все равно что взять весь HTML-документ и разрезать его на отдельные элементы, теги, атрибуты и т. Д., А затем построить представление этого документа в «простом» JavaScript как (очень большой) Object
.Имя переменной, присвоенной этому объекту, равно document
.Этот специальный объект имеет всевозможные магические свойства и методы (функции), которые можно использовать для чтения и обновления любого фрагмента DOM (который в конечном итоге переводится в HTML, который вы видите в браузере).
What I 'описанное выше не имеет ничего общего с jQuery, и все эти манипуляции могут быть выполнены с простым JavaScript (например, ответ Джека Бэшфорда).Однако из-за того, как браузеры и другие веб-технологии развивались на протяжении многих лет, многие «ошибки» существуют (или когда-то существовали), когда дело доходит до выполнения любой из этих вещей в «простом» JavaScript.С исторической точки зрения jQuery является невероятно важным инструментом, поскольку он предоставляет «стандартный» способ написания очень прямого кода для выполнения всего этого чтения или манипулирования DOM, а библиотека jQuery гарантирует, что все «ошибки» были исключены.
Итак, что такое jQuery (то есть в коде)?Ну, на это может быть много технических ответов, и один важный технический ответ заключается в том, что это Объект, потому что в JavaScript (почти) ВСЕ - это Объект .Однако давайте сосредоточимся на рассматриваемом вопросе и предоставленном вами коде:
$("<p>");
Здесь знак доллара - это jQuery (или переменная, указывающая на объект jQuery).Следующие скобки указывают, что объект jQuery называется как функция.Это все равно, что сказать в коде: «сделайте jQuery с этой строкой символов: '<p>'
».Делая шаг назад, полный оператор
var myVar = $("<p>");
говорит, что "эта переменная 'myVar' теперь указывает на результаты того, что делает jQuery с '<p>'
, даст нам. "
" Волшебная "вещь при написании в jQuery заключается в том, что синтаксис почти всегда ощущается одинаково (и дает ему интуитивное чувство).
Возьмите объект jQuery. Обычно это переменная $
, но jQuery
также будет работать.
Вызов функции ($()
). Бывают случаи, когда вы этого не делаете, например запросы ajax, но это отдельная тема и пример использования.
Предоставьте ему любой тип селектора ($('#myDiv')
), - это способ ссылки на конкретные элементы HTML на основе их свойств и местоположения в документе (здесь мы ищем конкретный элемент на основе его id
).
Работа с результатом ($('#myDiv').html(...etc)
)
Я укажу на этоотметим, что документация jQuery должна быть удобной, чтобы вы знали, что вы получаете в результате любого конкретного вызова функции, но почти во всех случаях эта функция будет возвращать другой объект jQuery который содержит ссылки на любые элементы, которые вы выбрали или которыми манипулировали во время вызова этой функции.
В последнем примере мы получим ссылку на элемент #myDiv, для которого мы затем вызовем другую функцию (.html()
), котораябудет либо читать, либо обновлять содержимое этого HTML-элемента.
В случае строки, о которой вы специально спрашивали, синтаксис, используемый для «выбора» тега «p», будет интерпретироваться jQuery, чтобы не искать все элементы «p» в документе (этот синтаксис будет $("p")
), но лучше создать один новый элемент 'p' и сохранить его в памяти как объект jQuery, который указывает на этот вновь созданный элемент.Узнайте больше об этом синтаксисе и его возможностях здесь .
Что ж, надеюсь, это было полезно.Я, конечно, любил писать, и даже сам кое-чему научился.