Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Китайский секрет от меня! (https://javascript.ru/forum/project/20999-kitajjskijj-sekret-ot-menya.html)

Solovei95 25.08.2011 13:09

Китайский секрет от меня!
 
Все люди мучаются над созданием элементов! (точнее создали, но нужны еще аттрибуты).
Но это в прошлом!

Теперь есть универсальный скрипт (китайский секрет от меня).

//перменная i в цикле означает название атрибута
//а переменная attr[i] означает значение атрибута

var DOMCreateElement = function(elem,attr){
  var element = document.createElement(elem);
  if(attr==null){attr={}}
  for(var i in attr){
    element.setAttribute(i,attr[i]);
  }
  return element;
};

var attributes = {
"src":"image.png"
}

var img = DOMCreateElement("img",attributes);


Все - создали элемент!

B@rmaley.e><e 25.08.2011 13:27

Цитата:

Сообщение от Solovei95
Все люди мучаются над созданием элементов!

Э? Что мучительно в двух строчках кода?
var element = document.createElement('…');
element.property = value;


Я уже не говорю о том, что все люди используют фреймворке, где это выглядит ещё проще.

melky 25.08.2011 13:52

Цитата:

Сообщение от Solovei95 (Сообщение 122354)
китайский секрет
if(attr==null){attr={}}

:haha: прошу MOOOREE китайских секретов

Solovei95 25.08.2011 16:00

Да вы не поняли!
Так можно много аттрибутов использовать!

var video = DOMCreateElement("video",{
"autoplay":"autoplay",
"loop":"loop",
"width":"100",
"height":"100",
"src":"video.ogv"
});

Kolyaj 25.08.2011 16:09

var video = document.createElement('video');
Object.mixin(video, {
    "autoplay":"autoplay",
    "loop":"loop",
    "width":"100",
    "height":"100",
    "src":"video.ogv"
})

Solovei95 25.08.2011 16:10

Че за Object.mixin ???

Solovei95 25.08.2011 16:12

Скажи что за фреймворк?

Kolyaj 25.08.2011 16:30

https://github.com/Kolyaj/CrossJS/bl...g/Object.js#L1

ваый 25.08.2011 16:33

Kolyaj, он сейчас подумает, что это реально штука из фреймворка, и так и не поймет, что это просто mixin, один из способов расширения/наследования объектов в языке, в котором нету классов. Надо было его отправить читать Стефанова.

Kolyaj 25.08.2011 16:37

Цитата:

Сообщение от ваый
один из способов расширения/наследования объектов в языке

Я бы не сказал, что это наследование. Просто очень нужная функция копирования свойств из одного объекта в другой.


Часовой пояс GMT +3, время: 05:22.