Дронов Владимир
Шрифт:
Первый, необязательный, параметр задает селектор CSS, которому должен удовлетворять потомок, в виде строки; можно также указать несколько селекторов через запятую. Если непосредственный потомок не удовлетворяет этому селектору, метод проверит потомки всех потомков данного элемента.
Если первый параметр не задан или с ним передана пустая строка, будут просматриваться все потомки данного элемента.
Если вторым, также необязательным, параметром передано значение true, метод child вернет экземпляр объекта Web-обозревателя HTMLElement.
Если подходящий потомок найден не будет, метод вернет значение null.
Пример:
var elUL = elNavbar.child;
В переменной elUL окажется первый пункт списка navbar.
Пример:
var elUL = elNavbar.child("LI: nodeValue=CSS");
В переменной elUL окажется пункт списка navbar, который содержит текст "CSS". Метод down отличается от метода child тем, что ищет только среди непосредственных потомков текущего элемента Web-страницы:
<экземпляр объекта Element>.down([<селектор CSS>[, true]])
Параметры метода down те же, что у методов parent и child.
Пример:
var elUL = elNavbar.down;
В переменной elUL окажется первый пункт списка navbar.
Методы next и prev возвращают, соответственно, следующий и предыдущий элемент Web-страницы того же уровня вложенности, что и данный элемент:
<экземпляр объекта Element>.next|prev([<селектор CSS>[, true]])
Параметры этих методов те же, что у методов parent и child.
Пример:
var elDiv = Ext.get("cmain"). next;
В переменной elDiv окажется контейнер ccopyright — следующий за контейнером cmain.
Пример:
var elP = elNavbar.prev;
В переменной elP окажется значение null, т. к. список navbar не имеет предыдущих элементов того же уровня вложенности и вообще является единственным потомком своего родителя.
Методы first и last возвращают, соответственно, первый и последний элемент Web-страницы того же уровня вложенности, что и данный элемент:
<экземпляр объекта Element>.first|last([<селектор CSS>[, true]])
Параметры этих методов те же, что у методов parent и child.
Пример:
var elCHeader = Ext.get("cmain"). first;
var elCCopyright = Ext.get("cmain"). last;
В переменной elCHeader окажется контейнер cheader, а в переменной elCCopyright — контейнер ccopyright. Это, соответственно, первый и последний из блочных контейнеров — "соседей" контейнера cmain.
Метод is возвращает true, если данный элемент Web-страницы совпадает с заданными селектором, и false в противном случае.
В примере из листинга 15.1 мы проверяем, создан ли контейнер cmain с помощью тега . Разумеется, это не так.
Листинг 15.1
<экземпляр объекта Element>.is(<селектор CSS>)
var elCMain = Ext.get("cmain");
if (elCMain.is("P"))
var s = "Это абзац."
else
var s = "Это не абзац. Тьфу на него!";
Получение и задание размеров и местоположения элемента Web-страницы
Добравшись до нужного элемента Web-страницы, мы можем начать работать с ним, например, получить и задать его размеры и местоположение с помощью описанных в этом разделе методов объекта Element.
Методы getWidth и getHeight возвращают, соответственно, ширину и высоту данного элемента Web-страницы в виде числа в пикселах:
<экземпляр объекта Element>.getWidth|getHeight([true])
Если этим методам не передавать никаких параметров, они вернут полную ширину и высоту элемента Web-страницы, с учетом рамки и внутренних отступов. Если же им передать значение true, они вернут ширину и высоту только содержимого элемента, без учета рамки и внутренних отступов.
Пример:
var iWidth = Ext.get("cmain"). getWidth;
В переменной iWidth окажется полная ширина контейнера cmain.
Методы setWidth и setHeight задают, соответственно, ширину и высоту данного элемента Web-страницы: