Есть ли способ создать новый элемент в объекте Document из источника тега? По сути то, что я хотел бы сделать что-то эффект:Javascript DOM Document createElement из источника тега
myDocument.createElement('<sometag attr="lol">');
Есть ли способ создать новый элемент в объекте Document из источника тега? По сути то, что я хотел бы сделать что-то эффект:Javascript DOM Document createElement из источника тега
myDocument.createElement('<sometag attr="lol">');
хорошо использовать innerHTML вместо того, чтобы пытаться взломать Dóm манипуляции для такого рода вещи.
Чтобы сделать это, создать действительный узел с йотом, если вы хотите (или получить его через getElementById), затем установите innerHTML этого узел с кодом
Нет, родную DOM API для .createElement
не поддерживает, что синтаксис. Вам нужно создать простой элемент и установить любое свойство или непосредственно на объекте
newElem.attr = "lol";
или (лучше), используйте .setAttribute()
newElem.setAttribute('attr', 'lol');
Что вы «могли бы» сделать, это сделать создать
documentFragment
, затем используйте
.innerHTML
, чтобы записать эту строку в этот фрагмент и, наконец,
.append
его содержимое в целевое назначение.
Свойство innerHTML работает здесь - но немного сложнее разместить то, что вам нужно. Например:
var div = document.createElement('div');
div.innerHTML = "<img src='http://www.google.com/logos/classicplus.png'/>";
По моему скромному мнению, это чертовски много проще использовать JQuery, чтобы справиться с этим для вас, как это происходит со всеми методами Jquery уже прикрепленными.
var div = $("<div class='blah'><img src='http://www.google.com/logos/classicplus.png'/></div>");
div.find('img').hide();
div.appendTo('body');
div.find('img').fadeIn();
Похоже 'SetAttribute()' [медленнее] (http://jsperf.com/setattribute-vs-attr) '.attr' :-) –
@FlorianMargaine: очень возможно. Но оговорка в том, что этот афаик нигде не описывается в каких-либо спекуляциях до этого момента. Так что его довольно туманный стиль кодирования. Во всяком случае, похоже, что почти все браузеры поддерживают этот синтаксис так или иначе «как-то». Итак, это зависит от вас. – jAndy