, либо обычные ячейки |
.
Те же данные, что мы использовали в главе 6, снова доступны в переменной MOUNTAINS .
Напишите функцию buildTable , которая, принимая массив объектов с одинаковыми свойствами, строит структуру DOM, представляющую таблицу. У таблицы должна быть строка с заголовками, где имена свойств обёрнуты в элементы
|
, и должно быть по одной строчке на объект из массива, где его свойства обёрнуты в элементы |
. Здесь пригодится функция Object.keys , возвращающая массив, содержащий имена свойств объекта.
Когда вы разберётесь с основами, выровняйте ячейки с числами по правому краю, изменив их свойство style.textAlign на "right" .
/* Определяет стили для красивых таблиц */
table { border-collapse: collapse; }
td, th { border: 1px solid black; padding: 3px 8px; }
th { text-align: left; }
function buildTable(data) {
// Ваш код
}
document.body.appendChild(buildTable(MOUNTAINS));
Метод getElementsByTagName возвращает все дочерние элементы с заданным именем тега. Сделайте свою версию этого метода в виде обычной функции, которая принимает узел и строчку (имя тега) и возвращает массив, содержащий все нисходящие узлы с заданным именем тега.
Чтобы выяснить имя тега элемента, используйте свойство tagName . Заметьте, что оно возвратит имя тега в верхнем регистре. Используйте методы строк toLowerCase или toUpperCase .
Заголовок с элементом span внутри.
Параграф с раз, два элементами spans.
function byTagName(node, tagName) {
// Ваш код
}
console.log(byTagName(document.body, "h1").length);
// → 1
console.log(byTagName(document.body, "span").length);
// → 3
var para = document.querySelector("p");
console.log(byTagName(para, "span").length);
// → 2
Расширьте анимацию кота, чтобы и кот и его шляпа летали по противоположным сторонам эллипса.
Или пусть шляпа летает вокруг кота. Или ещё что-нибудь интересное придумайте.
Чтобы упростить расположение множества объектов, неплохо будет переключиться на абсолютное позиционирование. Тогда top и left будут считаться относительно левого верхнего угла документа. Чтобы не использовать отрицательные координаты, вы можете добавить заданное число пикселей к значениям position .
var cat = document.querySelector("#cat");
var hat = document.querySelector("#hat");
// Your code here.
Вы властны над своим разумом, но не над внешними событиями. Когда вы поймёте это, вы обретёте силу.
|