JavaScript заметки
Открыть в Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Больше7 368
Подписчики
-124 часа
-167 дней
-5730 дней
Архив постов
7 368
Снова советуем Senior Frontend Developer — канал, где фронтендер учит писать код, решает вопросы с собеседований по React/Vue.js, делает викторины по JavaScript и делится полезными инструментами и репозиториями. Подписывайтесь!
@senior_front
7 368
Привет, дорогой подписчик!
Мы молодая команда JS разработчиков, которая решила открыть несколько каналов в Telegram, посвященных JavaScript и frontend-разработке в целом.
Подписывайся на другие наши проекты:
JavaScript тесты - канал с тестами и задачами по JS. Здесь ты сможешь практиковаться и обсуждать свои решения с другими подписчиками и админами. Каждый день тебя будет ждать новый интересный вызов в виде очередной викторины.
JavaScript инструменты - канал с инструментами по JS. Здесь каждый день публикуются современные технологии призванные упростить разработку на JavaScript.
Полезная вËрстка - канал с готовым кодом интересных решений различных повседневных задач: слайдеры, навигации, различная анимация и многое другое.
Развивайся с нами, ведь так проще!
7 368
Итого по свойствам узлов
Каждый DOM-узел принадлежит определённому классу. Классы формируют иерархию. Весь набор свойств и методов является результатом наследования.
Главные свойства DOM-узла:
nodeType - позволяет узнать тип DOM-узла.
nodeName/tagName - это свойство возвращает название тега. Только для чтения.
innerHTML - внутреннее HTML-содержимое узла-элемента. Можно изменять.
outerHTML - полный HTML узла-элемента. Запись в
elem.outerHTML не меняет elem. Вместо этого она заменяет его во внешнем контексте.
nodeValue/data - содержимое узла-неэлемента (текст, комментарий). Можно изменять.
textContent - текст внутри элемента: HTML за вычетом всех <тегов>.
hidden - когда значение установлено в true, делает то же самое, что и CSS display:none.
В зависимости от своего класса DOM-узлы имеют и специфичные свойства.
#браузер #документ #свойства_узлов7 368
Теперь популярные языки программирования можно легко выучить по гайдам в картинках:
🐍 Python: guides_python
🎗 JavaScript: guides_js
🗃 SQL и БД: db_guides
🔐 Хакинг и ИБ: hack_guides
Выбирай нужный язык программирования и учись по гайдам не напрягаясь.
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
IT Инженерия - канал в котором обо всём, что используется в IT индустрии.
+
Linux для чайника - канал, где можно начать изучать OS Linux прямо сейчас.
7 368
Свойство «hidden»
Атрибут и DOM-свойство «hidden» указывает на то, видим ли мы элемент или нет.
Мы можем использовать его в HTML или назначать при помощи JavaScript, как в примере ниже (см. пример выше на картинке).
Технически,
hidden работает так же, как style="display:none". Но его применение проще.
#браузер #документ #свойства_узлов7 368
@gd_code - Телеграм-канал, в котором ты узнаешь правила хорошего кода для проектов на JavaScript, TypeScript, React и Vue.
Подпишись и пиши код грамотно t.me/gd_code
7 368
Запись в textContent (безопасный способ)
Представим, что у нас есть произвольная строка, введённая пользователем, и мы хотим показать её.
- С
innerHTML вставка происходит «как HTML», со всеми HTML-тегами.
- С textContent вставка получается «как текст», все символы трактуются буквально.
Сравним два тега div (см. пример выше на картинке).
- В первый <div> имя приходит «как HTML»: все теги стали именно тегами, поэтому мы видим имя, выделенное жирным шрифтом.
- Во второй <div> имя приходит «как текст», поэтому мы видим <b>Винни-пух!</b>.
В большинстве случаев мы рассчитываем получить от пользователя текст и хотим, чтобы он интерпретировался как текст. Мы не хотим, чтобы на сайте появлялся произвольный HTML-код. Присваивание через textContent – один из способов от этого защититься.
#браузер #документ #свойства_узлов7 368
Здорово!
Меня зовут Сергей и я Senior JavaScript-разработчик из Хельсинки.
На своём авторском канале «Будни разработчика» я выкладываю самые интересные и оригинальные находки, что помогают мне в моей работе.
Статьи, заметки, фишки, опросы с подвохом и разбор багов браузеров.
Залетай, скучно не будет!
7 368
textContent: просто текст
Свойство
textContent предоставляет доступ к тексту внутри элемента за вычетом всех <тегов> (см. пример на картинке выше).
Как мы видим, возвращается только текст, как если бы все <теги> были вырезаны, но текст в них остался.
На практике редко появляется необходимость читать текст таким образом.
Намного полезнее возможность записывать текст в textContent, т.к. позволяет писать текст «безопасным способом».
#браузер #документ #свойства_узлов7 368
Делать сайты не так сложно как кажется!
На нашем втором канале Полезная вЁрстка можно найти:
- готовый код, копируй и вставляй в свой проект
- полезные сервисы, конец нудным поискам в Google
- нужные расширения, улучшат работу твоего редактора и браузера
- а также: инструменты, библиотеки, игры, книги и многое другое.
Подписывайтесь на канал и получайте новые идеи!
7 368
nodeValue/data: содержимое текстового узла
Свойство
innerHTML есть только у узлов-элементов.
У других типов узлов, в частности, у текстовых, есть свои аналоги: свойства nodeValue и data. Эти свойства очень похожи при использовании, есть лишь небольшие различия в спецификации. Мы будем использовать data, потому что оно короче.
Прочитаем содержимое текстового узла и комментария (см. картинку выше).
Мы можем представить, для чего нам может понадобиться читать или изменять текстовый узел, но комментарии?
Иногда их используют для вставки информации и инструкций шаблонизатора в HTML.
JavaScript может прочитать это из свойства data и обработать инструкции.
#браузер #документ #свойства_узлов7 368
Совет для всех айтишников – учите фронтенд и 3D-графику.
Сайты с 3D-графикой продают на 40% лучше обычных, поэтому хорошим спецам компании платят в 3-4 раза больше рынка.
Лучший способ освоить главные фишки – подписаться на @travellerLogs. В коротких постах автор делится фишками по оптимизации, основам трехмерной графики и подборками полезных сервисов.
Зачем полгода ходить на курсы, если всё можно выучить в 1 канале по простым инструкциям?
7 368
outerHTML: HTML элемента целиком
Свойство
outerHTML содержит HTML элемента целиком. Это как innerHTML плюс сам элемент.
Будьте осторожны: в отличие от innerHTML, запись в outerHTML не изменяет элемент. Вместо этого элемент заменяется целиком во внешнем контексте.
Да, звучит странно, и это действительно необычно, поэтому здесь мы и отмечаем это особо.
#браузер #документ #свойства_узлов7 368
Хочешь постоянно практиковаться в решении задач и получать подробное объяснение?
Тогда подписывайся на JavaScript | Тесты для проверки знаний! Здесь ты найдешь огромное количество задач по JS с подробными объяснениями!
Переходи и развивайся ежедневно! 👇
7 368
Будьте внимательны: «innerHTML+=» осуществляет перезапись
Мы можем добавить HTML к элементу, используя
elem.innerHTML+="ещё html".
На практике этим следует пользоваться с большой осторожностью, так как фактически происходит не добавление, а перезапись.
Технически эти две строки (см. картинку выше) делают одно и то же.
Другими словами, innerHTML+= делает следующее:
1) Старое содержимое удаляется.
2) На его место становится новое значение innerHTML (с добавленной строкой).
Так как содержимое «обнуляется» и переписывается заново, все изображения и другие ресурсы будут перезагружены.
В примере chatDiv выше строка chatDiv.innerHTML+="Как дела?" заново создаёт содержимое HTML и перезагружает smile.gif (надеемся, картинка закеширована). Если в chatDiv много текста и изображений, то эта перезагрузка будет очень заметна.
#браузер #документ #свойства_узлов7 368
Стать программистом не так сложно, как кажется. Вот несколько советов:
1. Изучайте основы программирования. Языки и фреймворки постоянно меняются. Основы будут актуальны всегда.
2. Постоянно практикуйтесь. Наш мозг так устроен, что если мы не используем что то, то он это забывает.
3. Смотрите как пишут код другие. Изучайте проекты с открытым кодом, которые пишут опытные программисты.
Самые интересные проекты с открытым кодом собраны в одном канале — подписывайся!
7 368
innerHTML: содержимое элемента
Свойство innerHTML позволяет получить HTML-содержимое элемента в виде строки.
Мы также можем изменять его. Это один из самых мощных способов менять содержимое на странице.
Пример выше показывает содержимое
document.body, а затем полностью заменяет его.
#браузер #документ #свойства_узлов7 368
Реально ли стать крепким джуном во фронтенд-разработке за 10 месяцев?
У Хекслета получилось сделать такой курс. На нём дают только самое необходимое, а после успешного завершения обучения можно попасть на оплачиваемую стажировку.
И цифры говорят сами за себя: 65% выпускников курса "Frontend-разработчик"получают оффер на первых пяти собеседованиях, а 27% устраиваются вообще без поиска работы — работодатели находят их сами.
Скорее узнавайте подробнее и присоединяйтесь к огромному сообществу веб-разработчиков прямо сейчас.
