2016-01-13 1 views
0
var old_element=document.getElementById('dhtml_menu-1895');  
var old_element_child=old_element.children;  
    console.log(old_element_child); 

выводить Нодлист объектсохранить элемент nodechilds в том же типа, как элемент в JavaScript

я хотел бы быть old_element_child в том же типа, как old_element, чтобы быть в состоянии сделать

var new_element = old_element.cloneNode(true); 
var new_element_child=new_element.children;  
old_element.parentNode.replaceChild(new_element, old_element); 
old_element.replaceChild(old_element_child, new_element_child); 
+0

'ребенок! = Дети' – Shomz

ответ

1

child свойство возвращает нодлист всех детей данного элемента (даже если это только один, что, кажется, так). То, что вы хотите, это специфический элемент, для этого можно использовать либо

var old_element_child = old_element.children[n]; 

п является индексом желаемого ребенка в родителе (с 0). Так что, если это первый ребенок, было бы

var old_element_child = old_element.children[0]; 
1

Вы можете попытаться скопировать свой объект таким образом:

Метод Object.assign() используется для копирования значений всех перечислимых собственных свойств от одного или нескольких объектов-источников до целевого объекта. Он вернет целевой объект.

var old_element=document.getElementById('dhtml_menu-1895'); 

var copy = Object.assign({}, old_element); 
console.log(copy); // here is your object copyed