Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Если вызвать эту функцию с двумя параметрами, как например, attr(element, id), она возвратит значение указаного атрибута.
- //А если вызвать этк же функцию с тремя параметрами, как, например attr(element, class, test), она возвратит значение указаного атрибута и его новое значение.
- function attr(elem, name, value) { //Получение и установка значений атрибутов в элементах разметки.
- if(!name || name.constructor != String) //Убедится, что предоставлено достоверное имя.
- return '';
- //Выяснить, относится ли имя к одному из двух необычных случаев именования:
- name = {'for': 'htmlFor', 'className': 'class'}[name] || name;
- if (typeof value != 'undefined') { //Если пользователь установил значение.
- elem[name] = value; //Установить сначала значение кратким способом.
- if(elem.setAttribute) //Если возможно, то воспользоваться методом setAttribute().
- elem.setAttribute(name, value);
- }
- return elem[name] || elem.getAttribute(name) || ''; //Возвратить значение атрибута.
- }
- //Применение функции attr():
- attr(document.getElementsByTagName('h1')[0], 'class', 'header'); //Установить клас для первого элемента разметки h1.
- //Установить значение для каждого элемента разметки input:
- var input = document.getElementsByTagName('input');
- for(var i = 0; i < input.length; i++) {
- attr(input[i], 'value', '');
- }
- //Добавить обрамление к элементу разметки input, имеющему имя 'inval';
- var input = document.getElementsByTagName('input');
- for(var i = 0; i < input.length; i++) {
- if(attr(input[i], 'name') == 'inval')
- input[i].style.border = '2px solid red';
- }
Add Comment
Please, Sign In to add comment