JavaScript заметки
Kanalga Telegram’da o‘tish
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Ko'proq ko'rsatish7 368
Obunachilar
-124 soatlar
-167 kun
-5730 kun
Postlar arxiv
7 368
Пример: показать сообщение
Рассмотрим методы изменения документа на примере – а именно, добавим на страницу сообщение, которое будет выглядеть получше, чем
alert.
Это был пример HTML. Далее мы будем создавать такой же div, используя JavaScript (предполагаем, что стили в HTML или во внешнем CSS-файле).
#браузер #документ #изменение7 368
"Зарезервированные" атрибуты (dataset)
Все атрибуты, начинающиеся с префикса «data-», зарезервированы для использования программистами. Они доступны в свойстве
dataset.
Например, если у elem есть атрибут "data-about", то обратиться к нему можно как elem.dataset.about.
Атрибуты, состоящие из нескольких слов, к примеру data-order-state, становятся свойствами, записанными с помощью верблюжьей нотации (CamelCase): dataset.orderState.
См. переписанный пример «состояния заказа» на картинке выше.
Использование data-* атрибутов – валидный, безопасный способ передачи пользовательских данных.
#браузер #документ #атрибуты_свойств7 368
Атрибуты для стилизации элементов
Например, здесь для состояния заказа используется атрибут
order-state (см. картинку выше).
Почему атрибут может быть предпочтительнее таких классов, как .order-state-new, .order-state-pending, order-state-canceled?
Это потому, что атрибутом удобнее управлять. Состояние может быть изменено достаточно просто.
#браузер #документ #атрибуты_свойств7 368
Взломы - сложно?
Все, что тебе нужно для того, чтобы заполучить доступ к чужим аккаунтам - подробная пошаговая инструкция от профессиональных хакеров. Но где ее взять?
Действительно, такая информация стоит ни одну 1000$ и не доступна обывателям. Не будь жертвой. Становись охотником!
Ведь сегодня у тебя есть возможность получить всё БЕСПЛАТНО:
- Книги по информационной безопасности.
- Бесплатные SMS на любой номер.
- Отключаем людей от нашего Wi-Fi.
- Звоним без сим-карты.
- Инструменты сетевой разведки.
Подписывайся на HackSpace прямо сейчас, пока Telegram не заблокировал ссылку.
7 368
Нестандартные атрибуты, dataset
При написании HTML мы используем много стандартных атрибутов. Но что насчёт нестандартных, пользовательских? Давайте посмотрим, полезны они или нет, и для чего они нужны.
Иногда нестандартные атрибуты используются для передачи пользовательских данных из HTML в JavaScript, или чтобы «помечать» HTML-элементы для JavaScript.
#браузер #документ #атрибуты_свойств
7 368
DOM-свойства типизированы
DOM-свойства не всегда являются строками. Например, свойство
input.checked (для чекбоксов) имеет логический тип.
Есть и другие примеры. Атрибут style – строка, но свойство style является объектом.
Хотя большинство свойств, всё же, строки.
При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство href всегда содержит полный URL, даже если атрибут содержит относительный URL или просто #hash.
#браузер #документ #свойства_узлов7 368
Хочешь прокачать дизайнерские скиллы? Самое время.
Канал, из-за которого ты начнешь создавать работающий дизайн и дорого его продавать
Курсы тебе не понадобятся, здесь собрана вся необходимая теория и инструменты, чтобы ты смог получить заветное место в студии или начать рубить шекели на фрилансе
Заходи ко мне: @glaz_ui
Все бесплатно. Бери и пользуйся
7 368
Исключения синхронизации
Но есть и исключения, например,
input.value синхронизируется только в одну сторону – атрибут → значение, но не в обратную.
В примере выше:
- Изменение атрибута value обновило свойство.
- Но изменение свойства не повлияло на атрибут.
Иногда эта «особенность» может пригодиться, потому что действия пользователя могут приводить к изменениям value, и если после этого мы захотим восстановить «оригинальное» значение из HTML, оно будет в атрибуте.
#браузер #документ #атрибуты_свойств7 368
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем рекламу?
Следуйте 3 простым шагам, чтобы сделать это:
1) Регистрируйтесь по ссылке: https://telega.in/c/notesjs
2) Пополняйтесь удобным способом
3) Размещайте рекламное сообщение
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
7 368
Синхронизация между атрибутами и свойствами
Когда стандартный атрибут изменяется, соответствующее свойство автоматически обновляется. Это работает и в обратную сторону (за некоторыми исключениями).
В примере выше
id модифицируется как атрибут, и можно увидеть, что свойство также изменено. То же самое работает и в обратную сторону.
#браузер #документ #атрибуты_свойств7 368
Стоит ли стремиться в финтех? И как писать фронтенд в банке без гипертонии?
Разработчики Газпромбанка знают все ответы: на конференции HolyJS 2022 главный инженер разработки Максим Гиленко рассказал, почему нужно оценить все «за» и «против», прежде чем идти в финтех. А еще участники узнали, как замена жесткой бизнес-логики на абстракции может помочь предотвратить выгорание фронтенд-разработчиков в крупной компании.
Если ты пишешь на JavaScript и ищешь команду единомышленников, смотри вакансии Газпромбанка > https://vk.cc/cfglwD
7 368
Расширенная демонстрация работы с атрибутами
Пожалуйста, обратите внимание:
1.
getAttribute('About') – здесь первая буква заглавная, а в HTML – строчная. Но это не важно: имена атрибутов регистронезависимы.
2. Мы можем присвоить что угодно атрибуту, но это станет строкой. Поэтому в этой строчке мы получаем значение "123".
3. Все атрибуты, в том числе те, которые мы установили, видны в outerHTML.
4. Коллекция attributes является перебираемой. В ней есть все атрибуты элемента (стандартные и нестандартные) в виде объектов со свойствами name и value.
#браузер #документ #атрибуты_свойств7 368
Прекрати мечтать и стань мидлом за 50 дней
Опытные Frontend-разработчики создали бесплатный канал, в котором регулярно выходят топовые видеоуроки и курсы для начинающих.
Хватит тратить время на поиск годного контента, просто подпишись на Войти в IT, остальное мы сделаем за тебя.
7 368
HTML-атрибуты
В HTML у тегов могут быть атрибуты. Когда браузер парсит HTML, чтобы создать DOM-объекты для тегов, он распознаёт стандартные атрибуты и создаёт DOM-свойства для них.
Таким образом, когда у элемента есть
id или другой стандартный атрибут, создаётся соответствующее свойство. Но этого не происходит,
если атрибут нестандартный.
#браузер #документ #атрибуты_свойств7 368
DOM-свойства
Ранее мы уже видели встроенные DOM-свойства. Их много. Но технически нас никто не ограничивает, и если этого мало – мы можем добавить своё собственное свойство.
DOM-узлы – это обычные объекты JavaScript. Мы можем их изменять.
Итак, DOM-свойства и методы ведут себя так же, как и обычные объекты JavaScript:
- Им можно присвоить любое значение.
- Они регистрозависимы (нужно писать
elem.nodeType, не elem.NoDeTyPe).
#браузер #документ #атрибуты_свойств7 368
🏅Золотое правило программирования:
Улучшайте свои навыки каждый день!
Easy Code - канал в котором ежедневно публикуются отбороные
материалы по JavaScript и не только.
Подписывайтесь: @easy_code
7 368
Атрибуты и свойства
Когда браузер загружает страницу, он «парсит» HTML и генерирует из него DOM-объекты. Для узлов-элементов большинство стандартных HTML-атрибутов автоматически становятся свойствами DOM-объектов.
Например, для такого тега
<body id="page"> у DOM-объекта будет такое свойство body.id="page".
#браузер #документ #атрибуты_свойств7 368
Другие свойства
У DOM-элементов есть дополнительные свойства, в частности, зависящие от класса:
-
value – значение для <input>, <select> и <textarea> (HTMLInputElement, HTMLSelectElement…).
- href – адрес ссылки «href» для <a href="..."> (HTMLAnchorElement).
- id – значение атрибута «id» для всех элементов (HTMLElement).
- …и многие другие…
Большинство стандартных HTML-атрибутов имеют соответствующее DOM-свойство, и мы можем получить к нему доступ.
Если мы хотим узнать полный список поддерживаемых свойств для данного класса, можно найти их в спецификации. Например, класс HTMLInputElement описывается здесь: https://html.spec.whatwg.org/#htmlinputelement.
Если же нам нужно быстро что-либо узнать или нас интересует специфика определённого браузера – мы всегда можем вывести элемент в консоль, используя console.dir(elem), и прочитать все свойства. Или исследовать «свойства DOM» во вкладке Elements браузерных инструментов разработчика.
#браузер #документ #свойства_узлов7 368
🆘 Остановитесь!
Боишься проходить собеседования и устал сидеть без работы?
Хватит это терпеть, подпишись: @console_log_js
