- Вывод данных Javascript
- Использование innerHTML
- Использование document.write()
- Использование window.alert()
- Использование console.log()
- Работа с элементами страницы в JavaScript
- Учебник JavaScript
- Практика
- Работа с DOM
- Практика
- Некоторые продвинутые вещи
- Рекомендованное ES6
- Регулярки
- Разное
- Работа с канвасом
- Практика
- Контекст
- Drag-and-Drop
- Практика по ООП
- Практика
- Promise ES6
- Библиотека jQuery
- Работа с innerHTML, outerHTML
- Работа с getElementsByTagName
- Обращение к свойствам через свойства document
- Работа с формами
- Получение и установка контента элементам в JavaScript
- Свойство textContent и как оно работает
- Примеры с textContent
- innerText, outerText и их отличие от textContent
- outerText
- innerHTML и outerHTML
- outerHTML
- Как получить данные между тегами javascript
- Получить между тегами getelementbyid
- Получить между тегами querySelector
- Получить между тегами getElementsByClassName
- Получить между тегами getElementsByName
- Как получить данные между тегами в переменную!?
- Сообщение системы комментирования :
Вывод данных Javascript
У JavaScript есть несколько различных способов «отобразить» данные:
- Запись в HTML элемент при помощи свойства innerHTML.
- Запись в вывод HTML при помощи метода document.write().
- Запись в окно предупреждений при помощи метода window.alert().
- Запись в консоль браузера при помощи метода console.log().
Использование innerHTML
Чтобы получить доступ к HTML элементу, JavaScript должен воспользоваться методом document.getElementById(id). Атрибут id определяет идентификатор HTML элемента. Свойство innerHTML определяет выводимый HTML контент:
Изменение свойства innerHTML элемента HTML это обычный способ вывода данных в HTML.
Использование document.write()
В тестовых целях для вывода данных можно использовать метод document.write():
Следует помнить, что использование метода document.write() после полной загрузки HTML документа удалит весь существующий HTML код:
Метод document.write() следует использовать только для тестирования.
Использование window.alert()
Для отображения данных также можно использовать окно сообщений. Для этого нужно воспользоваться методом window.alert():
Использование console.log()
Во время отладки скрипта, чтобы увидеть некие данные, вы можете вывести их в консоль браузера. Для этого используется метод console.log():
Подробнее об отладке скриптов будет рассказано в следующих главах.
Источник
Работа с элементами страницы в JavaScript
Учебник JavaScript
Практика
Работа с DOM
Практика
Некоторые продвинутые вещи
Рекомендованное ES6
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Регулярки
Разное
Работа с канвасом
Практика
Контекст
Drag-and-Drop
- Урок №
Введение
в ООП в стиле ES6 - Урок №
Основы
работы с ООП - Урок №
Наследование
классов в JavaScript
Продвинутая работа
с классами на JavaScript —> - Урок №
Применение
ООП при работе с DOM - Урок №
Практика
по ООП в JavaScript - Тут скоро будут еще уроки
по функциональному и прототипному
стилю ООП.
Практика по ООП
Ваша задача: посмотрите, попробуйте повторить.
Практика
Promise ES6
Библиотека jQuery
Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.
В данном уроке мы разберем работу с элементами страницы на языке JavaScript.
Работа с innerHTML, outerHTML
В прошлом уроке мы с вами учились считывать и записывать значения атрибутов, а теперь будем делать тоже самое, но уже со внутренним содержимым тегов. Это делается с помощью свойства innerHTML, которое можно считывать и перезаписывать, меняя тем самым содержимое тегов.
В примере ниже у нас есть абзац. Давайте сменим ему текст с помощью свойства innerHTML. Для этого получим ссылку на этот абзац с помощью getElementById в переменную elem. Затем таким образом — elem.innerHTML = ‘Новый текст’ — запишем в него новый текст:
HTML код станет выглядеть так:
Можно записывать не только текст, но и теги и они будут работать (в нашем случае текст станет жирным):
HTML код станет выглядеть так:
Кроме свойства innerHTML существует также свойство outerHTML, которое перезаписывает не только внутренний текст тега, но и сам тег. Смотрите пример:
HTML код станет выглядеть так:
Как вы видите, наш абзац исчез и заменился на тег b.
Работа с getElementsByTagName
Во всех примерах выше мы с вами работали с методом getElementById, который получал только одно свойство по его атрибуту id. Однако существуют и другие способы получения свойств, к примеру, с помощью метода getElementsByTagName, который получает группу тегов по их имени. Например, можно получить все абзацы p или все заголовки h2.
Учтите только один нюанс — наш метод возвращает не одно свойство, а массив свойств. Получим, к примеру, все абзацы в переменную elems:
В переменной elems теперь лежит массив свойств, это значит, что elems[0] — это первый абзац, elems[1] — второй и так далее (нумерация с нуля).
Мы можем убедится в этом, если сделаем так: elems[0].innerHTML = ‘!’ — в этом случае первый абзац сменит свой текст.
Давайте поменяем текст всех трех абзацев:
HTML код станет выглядеть так:
Учтите, что менять одновременно все свойства как-нибудь так elems.innerHTML = ‘!’ не получится (потому что elems — массив). Необходимо или вручную перебрать все свойства, как это сделано в примере выше, или воспользоваться циклом.
В следующем примере мы сменим содержимое всех абзацев на страницы на ‘!’, воспользовавшись для этого циклом for:
HTML код станет выглядеть так:
Обращение к свойствам через свойства document
Некоторые теги страницы можно не получать методами типа getElementById, а обратиться к ним как свойствам объекта document. К примеру, к тегу можно обратиться так: document.body, а к тегу — вот так: document.head. Такое работает не для всех тегов, а только для избранных.
Учтите, что нельзя получить доступ к тому свойству, которого еще не существует в момент выполнения скрипта. Поэтому, если скрипт находится в , то в нем недоступен document.body.
В следующем примере первый alert выведет null:
Работа с формами
Можно получить все HTML формы на странице через document.forms. В результате мы получим массив форм, будто он был получен с помощью getElementsByTagName (точнее это будет не массив, а псевдомассив (или коллекция) свойств).
Мы можем, к примеру, обратиться к любой форме, как к энному свойству массива, например, к форме с номером 0:
HTML код станет выглядеть так:
А можем перебрать все формы с помощью цикла:
HTML код станет выглядеть так:
Следующем образом — document.forms[i].elements — можно найти общее количество форм на странице.
Кроме того, к формам можно обращаться по имени вместо номера. Это имя задается в атрибуте name тега
Источник
Получение и установка контента элементам в JavaScript
На этом уроке мы рассмотрим свойства, предназначенные для работы с текстовым содержимым элемента ( textContent , innerText , outerText ) и свойства, предназначенные для работы с HTML содержимым элемента ( innerHTML , outerHTML ).
Свойство textContent и как оно работает
textContent – это свойство, которое предназначено для работы с текстовым контентом элемента. Оно позволяет его как получить (включая текстовое содержимое всего его потомков), так и установить.
Примеры с textContent
1. При получении текста элемента, содержащего один текстовый узел, textContent возвратит текст, находящийся внутри этого текстового узла.
2. Для элемента, который содержит множество других узлов, textContent вернёт конкатенацию (сложение) текстов всех его текстовых узлов.
В этом примере текстовые узлы обозначены цифрами. textContent вернёт сложение текстов этих текстовых узлов.
3. При получении textContent у document , оно возвратит null :
При установке элементу текстового содержимого, textContent удалит всего его узлы (при их наличии), и добавит в него один текстовый узел, содержащий указанный текст.
4. Например, установим элементу #message новое текстовое содержимое:
После установки $elem текстового контента, он будет выглядеть следующим образом:
5. Например, создадим элемент « div.alert », вставим в него некоторый текст и добавим его на страницу перед закрывающим тегом body :
6. Если присвоить textContent строку, содержащую HTML код, то символы и > будут заменены соответственно на и > .
innerText, outerText и их отличие от textContent
innerText также как textContent используется для извлечения текста из элементов.
Но innerText в отличие от textContent как бы копирует текст, отображаемый этим элементом в браузере . Он учитывает стили, применённые к элементу (отображается элемент или нет). Когда элемент скрыт, innerText не включает его текстовый контент в возвращаемые данные.
Кроме этого, innerText не добавляет в возвращаемый результат содержимое style и script .
При установке элементу текстового контента, innerText также как textContent удаляет все имеющиеся в нём узлы и создаёт новый текстовый узел с указанным содержимым.
Синтаксис свойства innerText :
Пример , в котором показана разница между innerText и textContent :
Из примера видно, что innerText не включает в возвращаемые данные контент элемента script .
В этом примере мы ещё дополнительно удалим отображение элемента span из документа, т.е. установим ему « display: none »:
Таким образом innerText учитывает стили элементов, и возвращает только текст отображаемый этим элементом в браузере.
outerText
Ещё в DOM API у элементов имеется свойство outerText . Оно возвращает текстовое содержимое элемента аналогично свойству innerText .
Синтаксис свойства outerText :
Его отличие от innerText только в том, что outerText при установки элементу текстового контента удаляет не только всё его содержимое, но и сам этот элемент и помещает на этом месте новый текстовый узел с заданным текстом.
Например , заменим все элементы img на текст ‘Здесь было изображение’ :
innerHTML и outerHTML
innerHTML предназначен для установки или получения HTML разметки элемента.
Например, установим элементу ul#list новое HTML содержимое:
Пример, в котором получим HTML разметку некоторого элемента:
Задание HTML содержимого элементу с помощью innerHTML всегда сопровождается удалением его контента и установкой ему новой HTML разметки, но основе указанной строки, которая была разобрана внутренним парсером браузера как HTML.
Начинающие веб-разработчики при написании такого кода полагают что он добавит только указанную HTML разметку в конец содержимого $someElem :
Но на самом деле это не так. Этот код выполняет следующее:
- получает текущее содержимое $someElem , т.е. HTML-строку, к которой прибавляет ещё одну строку
Эквивалентная запись кода, приведённого выше:
Таким образом, используя такую запись мы не просто добавляем некоторый HTML в конец элемента, а полностью переустанавливаем его. Выполнение такого кода обычно сопровождается «миганием».
Поэтому, в ситуациях, когда вам нужно просто добавить некоторый фрагмент HTML разметки в некоторый элемент лучше воспользоваться, например, методом insertAdjacentHTML .
Пример использования innerHTML для очистки содержимого элемента:
Например, получить и изменить HTML контент элемента р с id=»myP» :
Например, удалить HTML контент элемента p , имеющего id=»demo» :
outerHTML
Свойство outerHTML устанавливает или возвращает HTML контент, представляющий сам элемент и его дочерние элементы.
Например, получить и изменить HTML контент списка ul , имеющего id=»myList» :
Источник
Как получить данные между тегами javascript
Получить между тегами getelementbyid
Для того, чтобы сработала данная функция, нам понадобится уникальный ид(id), если такой идентификатор не будет уникальным, данные будут браться из первого на странице.
Создадим div и в первый тэг помещаем id=»primer»
Вывод выше идущего кода :
Чтобы нам продемонстрировать, как это работает,
К ней прикрепим онклик
В нем поставим функцию GetElementById
И еще нам понадобится innerHTML.
Соберем это вместе.
Узнать, что между тегами javascript!?
Узнать, что между тегами javascript!?
Получить между тегами querySelector
Для того, чтобы получить данные между тегами есть еще она функция, л которой уже сказали выеш предложением.
Для иллюстрации работы получения данных между тегами нам понадобится. любой, вообще любой тег, даже придуманный, чем вторая приведенная функция keit первой!? Её можно применить вообще к ид, классу, либо к тегу.
Возьмем слово primer и сделаем из него тег таким образом:
Здесь текст номер два!
Вывод выше идущего кода :
Здесь текст номер два!
Возьмем ту же конструкцию и заменим первую функцию на вторую!
Узнать, что между тегами javascript!?
Получить между тегами getElementsByClassName
Можно получить данные меду тегами с помощью getElementsByClassName! Берем все тот пример. измененяем текст, изменяем class
Вывод выше идущего кода :
Вывод в консоль:
Но м в результате у нас получилось:
Узнать, что между тегами javascript!?
Получить между тегами getElementsByName
Можно получить содержимое между тегами, например textarea ? для этого создадим такую конструкцию:
Вывод выше идущего кода :
Теперь берем код из предыдущего варианта и меняем getElementsByClassName на getElementsByName
Если вы изменили текст в textarea, и не получили тот результат, то поздравляю — по крайней мере вы любопытны!
Для того, чтобы получить напечатанные данные вам потребуется обратиться к атрибуту value
Как получить данные между тегами в переменную!?
Мы не будем все это использовать, потому, что для нашего примера -это вообще не имеет никакого значения!
Назовем переменную rezult и чтобы не перепутывалось с верхними вариантами нам потребуется новый див с новым текстом, и ид
Вывод выше идущего кода :
Результат смотри в консоли.
Сообщение системы комментирования :
Форма пока доступна только админу. скоро все заработает. надеюсь.
Источник