Какими свойствами обладают атрибуты
Какой оператор реляционной алгебры выводит только строки, которые встречаются в обеих таблицах
Назначение правила целостности на уровне сущности
Атрибут В функционально зависит от атрибута А, если
Свойствами реляционной таблицы являются
Основными компонентами данных в реляционной модели БД являются
Таблица приведена к четвертой нормальной форме, если
Таблица приведена к нормальной форме Бойса-Кодда, если
Таблица приведена к третьей нормальной форме, если
Таблица приведена ко второй нормальной форме, если
Таблица приведена к первой нормальной форме, если
– Определены все ключевые атрибуты;
– Отсутствуют повторяющиеся группы;
– Все атрибуты зависят от первичного ключа;
– Отсутствуют частичные зависимости;
– Нет атрибутов, зависящих от части первичного ключа;
– Отсутствуют транзитивные зависимости.
Каждый детерминант является потенциальным ключом.
111. Какая зависимость называется частичной?
Зависимость, определяемая только частью составного первичного ключа
112. Какая зависимость называется транзитивной?
Зависимость одного не первичного атрибута от другого не первичного атрибута
Отсутствуют многозначные зависимости
Отношения, Атрибуты, Кортежи, Ключи, Домены, Степень связи.
115. Что является совокупностью сущностей, объединенных общими свойствами?
Набор сущностей.
– каждый элемент таблицы — один элемент данных
– все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)
– каждый столбец имеет уникальное имя
– одинаковые строки в таблице отсутствуют
– порядок следования строк и столбцов может быть произвольным
Для любого допустимого значения отношения R каждое значение А связано в точности с одним значением В.
118. Что представляет собой нормализация таблиц БД?
Это процесс, направленный на уменьшение избыточности информации в базе данных.
119. Как называется атрибут, который является частью составного ключа?
Ключевой атрибут
120. Какой ключ используется только в целях поиска данных?
Первичный ключ
Каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).
122. Сколько существует реляционных операторов для манипулирования содержимым таблиц?
– = Равный к
– Больше чем
– < Меньше чем
– >= Больше чем или равно
– <= Меньше чем или равно
– < > Не равно
123. Какой оператор реляционной алгебры объединяет все строки из двух таблиц?
Объединение (UNION).
Пересечение. (INTERSECT).
125. Какой оператор реляционной алгебры выводит все строки первой таблицы, которые отсутствуют в другой (вычитание)?
Разность (DIFFERENCE).
126. Какой оператор реляционной алгебры выводит все возможные пары строк из двух таблиц (декартовое произведение)?
Декартовое произведение (PRODUCT).
127. Какой оператор реляционной алгебры выводит значения всех строк, найденных в таблице?
Выбор (SELECT).
128. Какой оператор реляционной алгебры позволяет компоновать информацию из двух или более таблиц?
Соединение (JOIN).
129. Между какими таблицами имеет место связь ОДИН-К-ОДНОМУ?
Связь ОДИН К ОДНОМУ имеет смысл , когда одной записи из родительской таблицы соотв. одна запись из дочерней таблицы.
130. Между какими таблицами имеет место связь ОДИН-КО-МНОГИМ?
Связь ОДИН КО МНОГИМ имеет смысл, когда одной записи родительской таблицы соответствует несколько записей из дочерней таблицы.
131. Между какими таблицами имеет место связь МНОГИЕ-КО-МНОГИМ?
Связь МНОГИЕ КО МНОГИМ имеет смысл: когда одной записи из родительской таблицы соответствует несколько записей из дочерней, и записи из дочерней таблицы соответствует несколько записей из родительской таблицы.
132. Что представляет собой сущность?
Сущность представляет собой различимое множество объектов реального мира с одинаковым набором атрибутов.
133. Чем является тип сущности?
Тип сущности относится к набору однородных личностей, предметов, событий и идей, выступающих, как целое.
134. Чем является экземпляр сущности?
Экземпляр сущности относится к конкретной вещи в наборе.
135. Что представляет собой домен?
Домен – набор допустимых значений одного или нескольких атрибутов.
136. Что представляет собой ключ?
Ключ – минимальный набор атрибутов, по значениям которого можно однозначно найти требуемый экземпляр сущности.
137. На что подразделяются типы сущностей?
-слабого типа
-сильного типа
138. Характерной особенностью какой сущности является то, что каждый ее экземпляр нельзя однозначно идентифицировать с помощью только тех атрибутов, которые относятся к сущности этого типа?
Слабой сущности.
139. Выберите тип сущности, существование которого зависит от какого-то другого типа сущности?
Относится к типу слабой сущности.
140. Характерной особенностью какой сущности является то, что каждый ее экземпляр может быть однозначно идентифицирован с помощью атрибута (атрибутов) первичного ключа сущности этого типа?
Сильной сущности.
141. Какими свойствами обладает атрибут?
– имя (не используйте русские буквы в имени!),
– тип данных. Самые распространенные типы данных:
– PK (primary key) – первичный ключ;
– NN (not null) – ячейка не допускает пустые значения;
– UN (unique) – значение должно быть уникальным в пределах столбца;
– AI (auto incremental) – это свойство полезно для простого первичного ключа, оно означает, что первичный ключ будет заполняться автоматически натуральными числами 1, 2, 3, и т.п.;
– DEFAULT – значение по умолчанию, т.е., значение, которое при добавлении новой строки в таблицу автоматически вставляется в ячейку сервером, если пользователь оставил ячейку пустой.
– простой атрибут
-составной атрибут
– однозначный атрибут
-многозначный атрибут
-производный атрибут
143. Какие атрибуты состоят из одного компонента с независимым существованием?
Простой атрибут
144. Какие атрибуты состоят из нескольких компонентов, каждый из которых характеризуется независимым существованием?
Составной атрибут
145. Какие атрибуты содержат одно значение для оного экземпляра сущности?
Однозначный атрибут
146. Какие атрибуты могут содержать несколько значений для одного экземпляра сущности?
Многозначный атрибут
147. Какие атрибуты представляют собой значение, вычисляемое от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторой сущности?
Производный атрибут
148. Как обозначается необязательный класс принадлежности бинарной связи степени 1?
149. Как обозначается обязательный класс принадлежности бинарной связи степени 1?
150. Как обозначается необязательный класс принадлежности бинарной связи степени n?
0, n
151. Как обозначается обязательный класс принадлежности бинарной связи степени n?
1, n
152. Как обозначается необязательный класс принадлежности бинарной связи?
0,1
153. Как обозначается обязательный класс принадлежности бинарной связи?
1,1
154. Когда связь является идентифицирующей и как она обозначается на ER-диаграмме?
Идентифицирующей связью называется такая связь, в которой один или несколько столбцов ключа, указанные в ссылке (т.е. находящиеся в родительской таблице), используются в качестве всего первичного ключа или части первичного ключа ссылающейся (т.е. дочерней) таблицы.
На ER-диаграмме обозначается сплошной линией.
155. Когда связь является неидентифицирующей и как она обозначается на ER-диаграмме?
Неидентифицирующими связями называются связи, создаваемые при определении внешнего ключа, который не входит в состав первичного ключа ссылающейся (дочерней) таблицы.
На ER-диаграмме обозначается штриховой или пунктирной линией.
Источник
Продолжаем цикл статей об основах объектно-ориентированного программирования. Сегодня говорим о двух важных словах в ООП: атрибутах и методах. Это основа лексикона ООП, поэтому нужно знать.
Краткое содержание предыдущих частей:
- ООП — это подход к программированию, основанный на понятии объектов и классов.
- Объект можно представить как некую «коробку», в которой лежат какие-то данные и которая умеет совершать какие-то действия. Без объектов всё это лежит просто «в программе», а благодаря объектам оно разложено по понятным управляемым «коробкам».
- Можно иметь типовые объекты, то есть имеющие похожую структуру и содержание — как производить товары на конвейере. Чертёж, по которому делают такие объекты, называется классом. Например, в программе может быть класс «пользователь», по которому создаются все будущие пользователи. Или класс «товар», по которому создаются все будущие товары.
- Всё это нужно, чтобы упорядочить работу сложных больших программ.
Теперь нырнём в атрибуты и методы.
Атрибуты
Атрибут — это переменная, связанная с объектом или классом. Грубо говоря, если я хочу, чтобы у объекта «Пользователь» появилась фамилия, я должен сделать пользователю атрибут «Фамилия».
Для программистов: у класса есть атрибуты, свойства и поля. В зависимости от языка программирования эти три параметра могут означать одно и то же, а могут различаться. В этой статье мы разбираем академический подход к структуре класса вида «атрибут — значение».
Возьмём в качестве примера метафору — производство телефонов. У нас есть класс «Смартфон» — некий абстрактный смартфон, по лекалам которого изготавливают конкретные объекты-смартфоны.
У класса «Смартфон» могут быть такие атрибуты:
- задняя камера
- передняя камера
- датчики объёма
- батарейка
- память
Это у нас будут атрибуты класса «Смартфон». Они могут принимать конкретные значения: камеры могут быть разных моделей, память может быть 64 или 256 гигабайт, а батарейка — 2500 мАч или 3500 мАч.
Когда мы задаём атрибут для класса, мы как будто настраиваем производственную линию: «Тут у нас будет станок по установке камер, там — по вклеиванию батареи». Когда мы задали класс с определёнными атрибутами, все объекты, произведённые из этого класса, будут появляться на свет с этими атрибутами.
Методы
Методы — это то, как можно взаимодействовать с атрибутами, узнавать и менять их значения. Рассмотрим их на том же прошлом примере про класс мобильника. Вот какие действия можно совершать:
- позвонить;
- сделать фото;
- обработать HDR-фото, чтобы было красиво, когда снимаешь против солнца;
- записать заметки;
- установить программу;
- посмотреть погоду;
- полистать фотки;
- поймать сигнал сотовой сети.
Получается, что методы отвечают за то, чтобы можно было взаимодействовать с классом. Чаще всего они отвечают за то, что можно сделать с атрибутами
Если посмотреть на список, можно заметить, что почти все методы доступны для выполнения извне — позвонить, сделать фото, посмотреть погоду и так далее. Это значит, что это открытые методы (public) — их может вызывать и работать с ними кто угодно: как пользователь, так и другие программы для своих нужд.
Но два других метода из списка — особенные: обработать HDR-фото и поймать сигнал сети. Их нельзя запустить напрямую, их вызывает операционная система, когда ей это нужно. Это значит, что это закрытые (private) методы, и они доступны только внутри самого класса. Если классу понадобится что-то обработать внутри себя, он ими воспользуется, а другие не смогут этого сделать.
Ещё есть защищённые (protected) методы. Их пока нет в наших примерах, но мы до них обязательно дойдём.
Практику веб‑программирования можно получить в Яндекс.Практикуме
Первый курс — бесплатно.
Попробовать
Один мальчик подписался на рассылку Кода и постепенно стал
программистом
Основы программирования без зауми и снобизма. Просто и понятно о том,
как получить новую профессию
Некорректный формат почты
Спасибо!
Проверьте почту
Источник
В этой статье познакомимся DOM-свойствами и атрибутами, рассмотрим, чем они отличаются и как правильно с ними работать. Разберём какие в JavaScript есть методы для выполнения операций над атрибутами.
Чем отличается атрибут от DOM-свойства?
Атрибуты — это HTML-сущности, с помощью которых мы можем добавить определённые данные к элементам в HTML-коде.
Когда браузер запрашивает некоторую страницу, он получает её исходный HTML-код. После этого он парсит этот код и строит на его основании DOM. Во время этого процесса HTML-атрибуты элементов переводятся в соответствующие DOM-свойства.
Например, браузер, при чтении следующей HTML-строчки кода, создаст для этого элемента следующие DOM-свойства: id, className, src и alt.
<img id=”brand” class=”brand” src=”logo.png” alt=”логотип сайта”>
Обращение к этим свойствам в коде JavaScript выполняется как к свойствам объекта. Объектом здесь выступает узел (элемент) DOM.
Пример, в котором получим значения DOM-свойств для элемента, приведённого выше, и выведем их значения в консоль:
// получим элемент
var brandImg = document.querySelector(‘#brand’);
// выведем в консоль значения DOM-свойств элемента
console.log(brandImg.id); // “brand”
console.log(brandImg.className); // “brand”
console.log(brandImg.src); // “logo.png”
console.log(brandImg.alt); // “логотип сайта”
Некоторые названия DOM-свойств не соответствуют именам атрибутов. Одним из таких является атрибут class. Данному атрибуту соответствует DOM-свойство className. Данное отличие связано с тем, что class является ключевым словом в JavaScript, оно зарезервировано и не может использоваться. Из-за этого разработчики стандарта решили использовать для соответствия какое-то другое название, в качестве которого было выбрано className.
Ещё один нюанс связан с тем, что перевод HTML-атрибутов, заданных в исходном коде документа, в DOM-свойства не всегда осуществляется один к одному.
Если элемент имеет нестандартный HTML-атрибут, то свойство, соответствующее ему в DOM, не создаётся.
<div id=”mydiv” alt=”…”></div>
<script>
// получим элемент
mydiv = document.querySelector(‘#mydiv’);
// получим значение свойство alt элемента и выведем его в консоль
console.log(mydiv.alt); // undefined
// получим значение атрибут alt элемента и выведем его в консоль
console.log(mydiv.getAttribute(‘alt’)); // “…”
</script>
Другое отличие связано с тем, что значения определённых HTML-атрибутов и соответствующих им DOM-свойств могут быть различными. Т.е. атрибут может иметь одно значение, а DOM-свойство, созданное на его основе – другое.
Одним из таких атрибутов является checked.
<input type=”checkbox” checked>
Значение HTML-атрибута checked в данном случае – это пустая строка. Но, свойство, соответствующее данному атрибуту в DOM, будет иметь значение true. Т.к. по правилам стандарта для установления true достаточно лишь упоминание этого атрибута в HTML-коде и при этом не важно какое он будет иметь значение.
При этом даже если мы в HTML-коде не укажем атрибут checked для элемента input с типом checkbox, то для него в DOM всё равно будет создано свойство checked, но оно будет равно false.
<input type=”checkbox”>
Кроме этого, JavaScript позволяет также работать с атрибутами. Для этого в DOM API имеются специальные методы. Но их желательно использовать только тогда, когда вам действительно нужно работать с данными именно так.
При этом нужно знать, что, когда мы изменяем DOM-свойство элемента, изменяется и соответствующий ему атрибут, и наоборот. Но это процесс в браузерах выполнятся не всегда один к одному.
Основные отличия между DOM-свойствами и атрибутами:
- значение атрибута – это всегда строка, а значение DOM-свойства – определённый тип данных (не обязательно строка);
- имя атрибута – регистронезависимо, а DOM-свойства – регистрозависимо. Т.е. в HTML-коде мы можем, например, HTML-атрибут id написать, как Id, ID и т.д. То же касается и имени атрибута, которые мы указываем в специальных методах JavaScript для работы с ним. Но к соответствующему DOM-свойству мы можем обратиться только по id и никак по-другому.
Работа с DOM-свойствами элемента
Работа со свойствами элементов в JavaScript как уже было отмечено выше осуществляется как со свойствами объектов.
Но для того, чтобы обратиться к свойству некоторого элемента, его необходимо сначала получить. Получить DOM-элемент в JavaScript можно, например, с помощью универсального метода querySelector, а коллекцию DOM элементов, например, посредством querySelectorAll.
В качестве первого примера рассмотрим следующий HTML-элемент:
<div id=”alert” class=”alert alert-info” title=”Текст подсказки…”>
Текст информационного сообщения…
</div>
<script>
var alert = document.querySelector(‘#alert’); // получим элемент
</script>
На базе него разберём как осуществляется получение DOM-свойств, их изменение и добавление новых.
Чтение значений DOM-свойств:
// получим значение DOM свойства id
var alertId = alert.id; // “alert”
// получим значение DOM свойства className
var alertClass = alert.className; // “alert alert-info”
// получим значение DOM свойства title
var alertId = alert.title; // “Текст подсказки…”
Изменение значений DOM-свойств:
// для изменения значения DOM свойству, ему нужно просто присвоить новое значение
alert.title = “Новый текст подсказки”; // присвоим DOM-свойству title элемента новое значение
// или так (т.к. обращение к этому свойству мы уже сохранили в переменную alertId)
alertId = “Новый текст подсказки”;
// или так (т.к. обращение к этому свойству мы уже сохранили в переменную alertId)
alert.className = “alert alert-warning”;
Добавление DOM-свойств:
alert.lang = “ru”; // установим свойству lang значение равное “ru”
alert.dir = “ltr”; // установим свойство dir значение равное “ltr”
Пример, в котором выведем в консоль все значения классов, которые есть у элементов p на странице:
var paragraphs = document.querySelectorAll(“p”);
for (var i = 0, length = paragraphs.length ; i < length; i++) {
if (paragraphs[i].className) {
console.log(paragraphs[i].className);
}
Пример, в котором установим всем элементам с классом content свойство lang со значением “ru”:
var contents = document.querySelectorAll(‘.content’);
for (var i = 0, length = contents.length; i < length; i++) {
contents[i].lang = “ru”;
}
Атрибуты элементов и методы для работы с ними
Атрибуты изначально задаются в HTML-коде. Они хоть и связаны, некоторым образом, со свойствами, но это не одно и тоже. В большинстве случаев следует работать именно со свойствами, а к атрибутам обращаться только тогда, когда это действительно нужно.
Значения атрибутов, в отличие от DOM-свойств, как это уже было отмечено выше всегда является строкой.
В JavaScript для выполнения операций, связанных с атрибутами, имеется четыре метода:
- .hasAttribute(‘имя_атрибута’) – проверяет наличие указанного атрибута у элемента. Если проверяемый атрибут есть у элемента, то данный метод возвращает true, в противном случае – false.
- .getAttribute(‘имя_атрибута’) – получает значение атрибута. Если указанного атрибута нет у элемента, то данный метод возвращает пустую строку (“”) или null.
- .setAttribute(‘имя_атрибута’, ‘значение_атрибута’) – устанавливает указанный атрибут с указанным значением элементу. Если указанный атрибут есть у элемента, то данный метод тогда просто изменит ему значение.
- .removeAttribute(‘имя_атрибута’) – удаляет указанный атрибут у элемента.
Рассмотрим примеры.
Очень интересный пример с атрибутом value.
Пример с атрибутом value
<input name=”name” type=”text” value=”Bob”>
<script>
var name = document.querySelector(‘input[name=”name”]’); // получим элемент
</script>
Получим значение атрибута value и DOM-свойства value:
// получим значение атрибута value у элемента
name.getAttribute(‘value’); // “Bob”
// получим значение DOM-свойства value
name.value; // “Bob”
// обновим значение атрибута value, установим ему новое значение
name.setAttribute(‘value’, ‘Tom’); // “Tom”
// получим значение DOM свойства value
name.value; // “Tom”
Из этого примера видно, что, при измении атрибута value, браузер автоматически изменяет в соответствии с ним DOM-свойство value.
Теперь давайте проделаем действия, наоборот, а именно изменим значение DOM-свойства и проверим изменится ли значение атрибута:
// установим новое значение DOM-свойству value
name.value = “John”;
// получим значение атрибута value у элемента
name.getAttribute(‘value’); // “Tom”
Из этого примера видно, что не всегда изменение DOM-свойства приводит к соответствующему изменению атрибута. Т.е. в этом случае изменение DOM-свойства value не изменяет соответствующий ему атрибут.
Тоже самое произойдёт, когда пользователь будет вводить текст в это поле. В DOM-свойстве value будет находится действительное значение, а в соответствующем ему атрибуте изначальное или то, которое мы установили, например, с помощью метода setAttribute.
Этот пример показывает, что более корректно работать всегда с DOM-свойствами, а обращаться к атрибуту нужно только тогда, когда это действительно необходимо.
Даже в случае, когда вам нужно получить начальное значение value, которое мы установили в HTML, можно воспользоваться свойством. Свойство, содержащее начальное значение атрибута value называется defaultValue.
name.defaultValue; // Tom
Ещё один очень интересный пример, но теперь с атрибутом href.
Пример с атрибутом href
Пример, в котором нам нужно получить значение ссылки так, как оно было установлено в HTML.
<a id=”link” href=”page2.html”></a>
<script>
var page2 = document.querySelector(‘#link’);
page2.getAttribute(‘href’); // page2.html
page2.href; // полный URL, например: https://localhost/page2.html
</script>
В этом примере атрибут href и DOM-свойство href содержат разные значения. В атрибуте href – то, что мы установили в коде, а в DOM-свойстве – полный URL. Это различие продиктовано стандартом, в соответствии с которым браузер должен привести значение href к полному URL.
Поэтому если нам нужно получить то, что находится в атрибуте, то без метода getAttribute в этом случае не обойтись.
В завершении разберём ещё атрибут selected.
Пример с атрибутом selected
Пример, в котором показано как можно получить значение выбранной опции select:
<select id=”mark”>
<option value=”none” selected>нет оценки</option>
<option value=”1″>1</option>
<option value=”2″>2</option>
<option value=”3″>3</option>
<option value=”4″>4</option>
<option value=”5″>5</option>
</select>
<script>
// получаем элемент select
var mark = document.querySelector(‘#mark’);
// 1 способ
mark.querySelector(‘option:checked’).value;
// 2 способ
mark.value;
</script>
Пример, в котором показано как можно получить выбранные значения опций в элементе select:
<select id=”mark” multiple>
<option value=”none” selected>нет оценки</option>
<option value=”1″>1</option>
<option value=”2″>2</option>
<option value=”3″>3</option>
<option value=”4″>4</option>
<option value=”5″>5</option>
</select>
<script>
// получаем элемент select
var mark = document.querySelector(‘#mark’);
// 1 способ (через создание массива и наполнением его значений выбранных опций)
var arr = [];
for (var i = 0, length = mark.options.length; i < length; i++) {
if (mark.options[i].selected) {
arr.push(mark.options[i].value);
}
}
// 2 способ (более современный, с использованием DOM-свойства selectedOptions)
var arr = Array.from(mark.selectedOptions, option => option.value)
</script>
Ещё один способ работы с атрибутами (свойство attributes)
В JavaScript у каждого элемента имеется свойство attributes, с помощью которого можно получить все его атрибуты в виде объекта NamedNodeMap.
Данный способ может находить применение, когда вам нужно, например перебрать все атрибуты элемента.
Доступ к атрибуту в этой коллекции осуществляется по его индексу или с помощью метода item. Отсчёт атрибутов в этой коллекции ведётся с 0.
Например, выведем в консоль все атрибуты некоторого элемента:
<p id=”message” class=”text” style=”text-align: center;”>I LOVE JAVASCRIPT</p>
<script>
// получим элемент по его идентификатору message
var message = document.querySelector(‘#message’);
// получим его атрибуты
var attrs = message.attributes;
// переберём все атрибуты с помощью цикла (attrs.length – количество атрибутов)
for (var i = 0, length = attrs.length; i < length; i++) {
// attrs[i] или attrs.item(i) – обращение к атрибуту в коллекции по его порядковому номеру
// attrs[i].name – имя атрибута
// attrs[i].value – значение атрибута (с помощью него можно также изменить значение атрибута)
console.log(attrs[i].name + ‘ = ‘ + attrs[i].value);
// или с помощью метода item
console.log(attrs.item(i).name + ‘ = ‘ + attrs.item(i).value);
// пример как можно изменить значение через свойство value
// if (attrs[i].name === “class”) {
// attr[i].value = “info”;
// }
}
// в результате выполнения:
// id = message
// class = text
// style = text-align: center;
</script>
Кроме этого, работать с этой коллекцией можно также посредством следующих методов:
- .getNamedItem(‘имя_aтpибyтa’) – получает значение указанного атрибута (если указанный атрибут отсутствует у элемента, то в качестве результата получим null).
- .setNamedItem(‘aтpибyт_yзeл’) – добавляет новый атрибут к элементу или обновляет значение у существующего. Для создания атрибута необходимо использовать метод document.createAttribute(), которому в качестве параметра необходимо передать имя атрибута. После этого созданному атрибуту необходимо присвоить значение с помощью свойства value.
- .removeNamedItem(‘имя_атрибута’) – удаляет указанный атрибут у элемента (в качестве результата возвращает удалённый атрибут).
Пример, работы с атрибутами через методы getNamedItem, setNamedItem и removeNamedItem:
<p id=”message” class=”text” style=”text-align: center;”>I LOVE JAVASCRIPT</p>
<script>
// получим элемент по его идентификатору message
var message = document.querySelector(‘#message’);
// получим его аттрибуты
var attrs = message.attributes;
// Задача №1. Получим значение атрибута id
console.log(attrs.getNamedItem(‘id’));
// Задача №2. Установим атрибут (если он есть, то изменим его значение, в противном случае добавим новый)
// создаём атрибут style и сохраняем его в переменную attrStyle
var attrStyle = document.createAttribute(‘style’);
// присваиваем значение атрибуту с помощью свойства value
attrStyle.value = ‘text-align: left;’;
// устанавливаем атрибут элементу
attrs.setNamedItem(attrStyle);
// Задача №3. удалить атрибут class у элемента
attrs.removeNamedItem(“class”);
</script>
Задачи
- Вывести в консоль все элементы документа, которые имеют атрибут id.
- Добавить атрибут title ко всем изображениям на странице, если данного атрибута у них нет. Значение атрибута установить равным значению атрибута alt.
Источник