Guest User

Untitled

a guest
Feb 24th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. //Если вызвать эту функцию с двумя параметрами, как например, attr(element, id), она возвратит значение указаного атрибута.
  2. //А если вызвать этк же функцию с тремя параметрами, как, например attr(element, class, test), она возвратит значение указаного атрибута и его новое значение.
  3. function attr(elem, name, value) { //Получение и установка значений атрибутов в элементах разметки.
  4. if(!name || name.constructor != String) //Убедится, что предоставлено достоверное имя.
  5. return '';
  6. //Выяснить, относится ли имя к одному из двух необычных случаев именования:
  7. name = {'for': 'htmlFor', 'className': 'class'}[name] || name;
  8. if (typeof value != 'undefined') { //Если пользователь установил значение.
  9. elem[name] = value; //Установить сначала значение кратким способом.
  10. if(elem.setAttribute) //Если возможно, то воспользоваться методом setAttribute().
  11. elem.setAttribute(name, value);
  12. }
  13. return elem[name] || elem.getAttribute(name) || ''; //Возвратить значение атрибута.
  14. }
  15. //Применение функции attr():
  16. attr(document.getElementsByTagName('h1')[0], 'class', 'header'); //Установить клас для первого элемента разметки h1.
  17. //Установить значение для каждого элемента разметки input:
  18. var input = document.getElementsByTagName('input');
  19. for(var i = 0; i < input.length; i++) {
  20. attr(input[i], 'value', '');
  21. }
  22. //Добавить обрамление к элементу разметки input, имеющему имя 'inval';
  23. var input = document.getElementsByTagName('input');
  24. for(var i = 0; i < input.length; i++) {
  25. if(attr(input[i], 'name') == 'inval')
  26. input[i].style.border = '2px solid red';
  27. }
Add Comment
Please, Sign In to add comment