Получение и задание значений атрибутов тега
Часто приходится получать и задавать значения атрибутов тега, с помощью которого создан элемент Web-страницы. Для этого Ext Core предоставляет два удобных метода и одно свойство объекта Element.
Метод getAttribute возвращает значение атрибута тега с указанным именем:
<экземпляр объекта Element> .getAttribute(<имя атрибута тега> )
В качестве параметра методу передается строка с именем атрибута тега. Метод возвращает строку с его значением.
Пример:
var s = Ext.get("cmain"). child("A: first"). getAttribute("href");
Здесь мы получаем значение атрибута тега HREF (интернет-адрес) первой гиперссылки в контейнере cmain.
Метод set задает новые значения для атрибутов тега:
<экземпляр объекта Element> .set(<конфигуратор> )
В главе 14 мы узнали о встроенном объекте JavaScript Object и выражениях-инициализаторах, с помощью которых создаются его экземпляры. Также мы узнали, что в Ext Core экземпляры этого объекта применяются для задания параметров многих методов. Так вот, метод set — первый из изученных нами, где используется такой подход.
В качестве параметра этому методу передается экземпляр объекта Object. Имена его свойств должны совпадать с именами атрибутов тега, которым следует дать новые значения, а значения этих свойств собственно задают значения соответствующих атрибутов тега.
В терминологии Ext Core экземпляры объекта Object, задающие набор параметров для метода, называются конфигураторами .
Пример:
var oConf = { target: "_blank" };
var s = Ext.get("cmain"). select("A"). set(oConf);
Здесь мы задаем для всех гиперссылок в контейнере cmain значение атрибута стиля TARGET, равное "_blank". Для этого мы используем конфигуратор, содержащий свойство target со значением "_blank".
Свойство id возвращает строку со значением атрибута тега ID, т. е. имя элемента
Web-страницы:
var sID = Ext.getBody(). child("DIV: last"). id;
Здесь мы получаем имя последнего контейнера на Web-странице — "ccopyright".
К сожалению, задать новое имя для элемента Web-страницы с помощью свойства id мы не сможем. Конечно, можно присвоить этому свойству новое значение, но оно не будет перенесено в атрибут тега ID данного элемента. Так что нам придется воспользоваться методом set:
Ext.getBody(). child("DIV: last"). set({ id: "lastdiv" });
ВНИМАНИЕ!
Вообще, менять имя элемента Web-страницы в Web-сценарии — дурной тон программирования. Имя элемента должно задаваться всего один раз — при его создании.
Дата добавления: 2015-05-08; просмотров: 756;