for each (var n in pt.element.@*) console.log(n);
В расширении E4X выражения могут присутствовать слева от оператора присваивания. Это позволяет изменять существующие и добавлять новые теги и атрибуты:
// Изменить тег для Водорода - добавить в него новый атрибут
// и новый дочерний элемент, чтобы он выглядел так:
//
//
// Водород
// 1.00794
//
//
pt.element[0].@symbol = "B";
pt.element[0].weight = 1.00794;
Так же легко можно удалять теги и атрибуты, используя стандартный оператор delete:
delete pt.element[0].©symbol; // удалить атрибут
delete pt..weight; // удалить все теги
Расширение E4X реализовано так, что позволяет выполнять большинство типичных операций с документами XML с помощью привычного синтаксиса языка. В Е4Х также имеются методы, которые можно вызывать относительно объектов XML. Например, метод insertChildBefore():
pt.insertChildBefore(pt.element[ 1],
Дeйтepий);
Расширение E4X полностью поддерживает пространства имен, а также включает синтаксические конструкции и функции для работы с пространствами имен XML:
// Объявить пространство имен по умолчанию с помощью инструкции
// "default xml namespace" statement:
default xml namespace = " http://www.w3.org/1999/xhtml ";
// Следующий документ xhtml содержит несколько тегов svg:
d =
Маленький красный квадрат:
http://www.w3.org/2000/svg " width="10" height="10">
в начале документа. Режим совместимости поддерживается для сохранения обратной совместимости, и одна из его особенностей состоит в том, что идентификаторы классов в атрибуте class
и каскадных таблицах стилей CSS нечувствительны к регистру символов. Метод getElementsByClassName()
следует алгоритму сопоставления, используемому таблицами стилей. Если документ отображается в режиме совместимости, метод сравнивает строки без учета регистра символов. В противном случае сравнение выполняется с учетом регистра символов.
К моменту написания этих строк метод getElementsByClassName()
был реализован во всех текущих броузерах, за исключением IE8 и более ранних версий. Однако IE8 поддерживает метод querySelectorAll(),
описываемый в следующем разделе, на основе которого можно реализовать метод getElementsByClassName()
.
15.2.5. Выбор элементов с использованием селекторов CSS
Каскадные таблицы стилей CSS имеют очень мощные синтаксические конструкции, известные как селекторы, позволяющие описывать элементы или множества элементов документа. Полное описание синтаксиса селекторов CSS выходит далеко за рамки этой книги [34] Определение селекторов CSS3 можно найти по адресу http://www.w3.org/TR/css3-selec-tors/ .
, однако несколько примеров помогут прояснить их основы. Элементы можно описать с помощью имени тега и атрибутов id
и class
:
#nav // Элемент с атрибутом id="nav"
div // Любой элемент
.warning // Любой элемент с идентификатором "warning" в атрибуте class
В более общем случае элементы можно выбирать, опираясь на значения атрибутов:
p[lang="fr”] // Абзац с текстом на французском языке: <���р lang="fr">
*[name="x"] // Любой элемент с атрибутом nаше="х"
Эти простейшие селекторы можно комбинировать:
span.fatal.error // Любой элемент с классами "fatal" и "error"
span[lang="fг"].warning // Любое предупреждение на французском языке
С помощью селекторов можно также определять взаимоотношения между элементами:
#log span // Любой элемент , являющийся потомком элемента с id="log"
#log>span // Любой элемент , дочерний по отношению к элементу с id=”log"
body>h1:first-child // Первый элемент
, дочерний по отношению к
Селекторы можно комбинировать для выбора нескольких элементов или множеств элементов:
div, #log // Все элементы
плюс элемент с id=”log"
Как видите, селекторы CSS позволяют выбирать элементы всеми способами, описанными выше: по значению атрибута id
и name
, по имени тега и по имени класса. Наряду со стандартизацией селекторов CSS3, другой стандарт консорциума W3C, известный как «Selectors АРІ» (API селекторов), определяет методы JavaScript для получения элементов, соответствующих указанному селектору. [35] Стандарт «Selectors АРІ» не является частью стандарта HTML5, но тесно связан с ним. Подробности смотрите по адресу http://www.w3.org/TR/selectors-api/ .
Читать дальше
Конец ознакомительного отрывка
Купить книгу