JavaScript заметки
رفتن به کانال در Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
نمایش بیشتر7 740
مشترکین
-124 ساعت
-77 روز
-5930 روز
آرشیو پست ها
7 740
Создание сообщения
В нашем случае сообщение – это
div с классом alert и HTML в нём.
Мы создали элемент, но пока он только в переменной. Мы не можем видеть его на странице, поскольку он не является частью документа.
#браузер #документ #изменение7 740
📌 Узнайте всё о фронтенд-разработке на бесплатном онлайн-вебинаре образовательной платформы Хекслет. Подключайтесь к прямому эфиру 30 сентября (пятница), в 19:00 мск!
Для кого?
✅ Вы новичок в программировании. Хотите стать разработчиком, но еще не определились с направлением и языком.
✅ Вы учили JavaScript самостоятельно. По книгам, доступным урокам. Хотите обучаться серьезно и системно, ищете курсы с практикой и помощью в трудоустройстве.
✅ У вас есть знания, полученные в другой школе. Но нет понимания, как искать работу, собрать портфолио и развиваться в профессии.
Ведет вебинар Александр Смирнов, Frontend-разработчик в STM Labs, наставник студентов программы «Frontend-разработчик» в Хекслете.
Приходите! Вас ждет полезная информация, увлекательный квиз, а также подарки и бонусы от Хекслета.
Жмите по ссылке и записывайтесь☝☝☝
7 740
Создание элемента
DOM-узел можно создать двумя методами:
document.createElement(tag) - создаёт новый элемент с заданным тегом.
document.createTextNode(text) - создаёт новый текстовый узел с заданным текстом.
Большую часть времени нам нужно создавать узлы элементов, такие как div для сообщения.
#браузер #документ #изменение7 740
Пример: показать сообщение
Рассмотрим методы изменения документа на примере – а именно, добавим на страницу сообщение, которое будет выглядеть получше, чем
alert.
Это был пример HTML. Далее мы будем создавать такой же div, используя JavaScript (предполагаем, что стили в HTML или во внешнем CSS-файле).
#браузер #документ #изменение7 740
Первый хакатон ПСБ по созданию банковских сервисов в Севастополе и Крыму
🔥40 часов живого кода, прокачка скиллов, треки по созданию крутых банковских сервисов, возможность войти в ИТ-команду ПСБ, новые знакомства, подарки и призовой фонд в размере 1 000 000 рублей!
Участвуй в офлайн-хакатоне PSB TECH HACK 8-9 октября. Заявки принимаются до 6 октября! Подробнее:https://cnrlink.com/psbjs
🔎 На PSB TECH HACK ждут:
frontend- и backend-разработчиков, бизнес-аналитиков, дизайнеров и продакт-менеджеров.
Уровень подготовки: начинающие и опытные специалисты, профессионалы и студенты.
Треки PSB TECH HACK:
- Интеллектуальный сервис переводов по номеру телефона в мобильном Интернет-банке
- Цифровой финансовый помощник по кредитным продуктам банка ПСБ
Участие бесплатное. Успейте зарегистрироваться до 6 октября по ссылке: https://cnrlink.com/psbjs
Организатор: ПАО «Промсвязьбанк»
7 740
Изменение документа
Добро пожаловать в новую главу на нашем канале "Изменение документа".
Модификации DOM – это ключ к созданию «живых» страниц.
Здесь мы увидим, как создавать новые элементы «на лету» и изменять уже существующие.
P.S. Найти все посты по этой главе вы можете с помощью комбинации хештегов, которые указаны ниже.
#браузер #документ #изменение
7 740
Итого по атрибутам и свойствам
Атрибуты – это то, что написано в HTML.
Свойства – это то, что находится в DOM-объектах.
Методы для работы с атрибутами:
elem.hasAttribute(name) – проверить на наличие.
elem.getAttribute(name) – получить значение.
elem.setAttribute(name, value) – установить значение.
elem.removeAttribute(name) – удалить атрибут.
elem.attributes – это коллекция всех атрибутов.
В большинстве ситуаций предпочтительнее использовать DOM-свойства. Нужно использовать атрибуты только тогда, когда DOM-свойства не подходят, когда нужны именно атрибуты, например:
- Нужен нестандартный атрибут. Но если он начинается с data-, тогда нужно использовать dataset.
- Мы хотим получить именно то значение, которое написано в HTML. Значение DOM-свойства может быть другим, например, свойство href – всегда полный URL, а нам может понадобиться получить «оригинальное» значение.
#браузер #документ #атрибуты_свойств7 740
Разработай веб-сервис с элементами геймификации для сотрудников Банка ВТБ.
Прими участие в масштабном онлайн-хакатоне MORE.Tech 4.0 с призовым фондом 1 100 000 рублей!
Что будет:
⚡️ С головой погрузишься в интересные задачи: разработаешь профильную ленту бизнес-новостей или веб-сервис с элементами геймификации для сотрудников Банка ВТБ;
⚡️ Познакомишься с опытными ИТ-специалистами ВТБ;
⚡️ Прокачаешься в разработке за 3 дня, как за месяц.
🏆 Помимо главного денежного приза в 1 100 000 рублей, тебя ждут нетворкинг, фирменный мерч и другие приятные подарки!
👉 Если нет своей команды — поможем ее собрать.
Регистрируйся и вступай в чат единомышленников, присоединяйся к команде или создавай свою!
Прием заявок до 3 октября, успевай!
moretech.vtb.ru
7 740
"Зарезервированные" атрибуты (dataset)
Все атрибуты, начинающиеся с префикса «data-», зарезервированы для использования программистами. Они доступны в свойстве
dataset.
Например, если у elem есть атрибут "data-about", то обратиться к нему можно как elem.dataset.about.
Атрибуты, состоящие из нескольких слов, к примеру data-order-state, становятся свойствами, записанными с помощью верблюжьей нотации (CamelCase): dataset.orderState.
См. переписанный пример «состояния заказа» на картинке выше.
Использование data-* атрибутов – валидный, безопасный способ передачи пользовательских данных.
#браузер #документ #атрибуты_свойств7 740
Атрибуты для стилизации элементов
Например, здесь для состояния заказа используется атрибут
order-state (см. картинку выше).
Почему атрибут может быть предпочтительнее таких классов, как .order-state-new, .order-state-pending, order-state-canceled?
Это потому, что атрибутом удобнее управлять. Состояние может быть изменено достаточно просто.
#браузер #документ #атрибуты_свойств7 740
Желаешь создать интерактивную веб-страницу или мобильное приложение?
Образовательный канал посвященный JavaScript.
Здесь публикуется готовый код, с использованием методов, конструкций и операторов языка, который можно использовать прямо сейчас.
Сила JavaScript — в наших постах💪
7 740
Нестандартные атрибуты, dataset
При написании HTML мы используем много стандартных атрибутов. Но что насчёт нестандартных, пользовательских? Давайте посмотрим, полезны они или нет, и для чего они нужны.
Иногда нестандартные атрибуты используются для передачи пользовательских данных из HTML в JavaScript, или чтобы «помечать» HTML-элементы для JavaScript.
#браузер #документ #атрибуты_свойств
7 740
📚 Добавлено 500 лучших уроков по программированию на 142GB:
Javascript:
https://t.me/+ggL4TH_vHLc1OTYy
Python:
https://t.me/+XdZaPTVgffc2ODQy
Программирование:
https://t.me/+qYEVVST_1Qo1Yjdi
Figma:
https://t.me/+FRwyl-lm4gJkYjYy
7 740
DOM-свойства типизированы
DOM-свойства не всегда являются строками. Например, свойство
input.checked (для чекбоксов) имеет логический тип.
Есть и другие примеры. Атрибут style – строка, но свойство style является объектом.
Хотя большинство свойств, всё же, строки.
При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство href всегда содержит полный URL, даже если атрибут содержит относительный URL или просто #hash.
#браузер #документ #свойства_узлов7 740
Исключения синхронизации
Но есть и исключения, например,
input.value синхронизируется только в одну сторону – атрибут → значение, но не в обратную.
В примере выше:
- Изменение атрибута value обновило свойство.
- Но изменение свойства не повлияло на атрибут.
Иногда эта «особенность» может пригодиться, потому что действия пользователя могут приводить к изменениям value, и если после этого мы захотим восстановить «оригинальное» значение из HTML, оно будет в атрибуте.
#браузер #документ #атрибуты_свойств7 740
"Javascript developer. Professional" - это хардкорный онлайн-курс для web-разработчиков по продвинутым возможностям JS и его фреймворков.
Приходите за продвинутыми навыками фулстек-разработки в OTUS. В программе курса — современные технологии Node.js, React, Angular, Vue, Svelte, TypeScript, Web Components.
Справитесь ли вы с уровнем курса? Покажет вступительный тест.
📍Пройдите тестирование, чтобы:
● оценить свои навыки
● получить доступ к демо-занятиям курса
● занять место по специальной цене
● получить доступ в закрытое сообщество JS-разработчиков
👉 Пройти полное тестирование: https://otus.pw/igcy/
Реклама. Информация о рекламодателе на сайте otus.ru
7 740
Синхронизация между атрибутами и свойствами
Когда стандартный атрибут изменяется, соответствующее свойство автоматически обновляется. Это работает и в обратную сторону (за некоторыми исключениями).
В примере выше
id модифицируется как атрибут, и можно увидеть, что свойство также изменено. То же самое работает и в обратную сторону.
#браузер #документ #атрибуты_свойств7 740
Расширенная демонстрация работы с атрибутами
Пожалуйста, обратите внимание:
1.
getAttribute('About') – здесь первая буква заглавная, а в HTML – строчная. Но это не важно: имена атрибутов регистронезависимы.
2. Мы можем присвоить что угодно атрибуту, но это станет строкой. Поэтому в этой строчке мы получаем значение "123".
3. Все атрибуты, в том числе те, которые мы установили, видны в outerHTML.
4. Коллекция attributes является перебираемой. В ней есть все атрибуты элемента (стандартные и нестандартные) в виде объектов со свойствами name и value.
#браузер #документ #атрибуты_свойств7 740
HTML-атрибуты
В HTML у тегов могут быть атрибуты. Когда браузер парсит HTML, чтобы создать DOM-объекты для тегов, он распознаёт стандартные атрибуты и создаёт DOM-свойства для них.
Таким образом, когда у элемента есть
id или другой стандартный атрибут, создаётся соответствующее свойство. Но этого не происходит,
если атрибут нестандартный.
#браузер #документ #атрибуты_свойств
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
