Хорошо, у меня есть этот пустой массив объектов.Я динамически нахожу каждый узел на веб-странице, и каждый узел будет иметь свой собственный объект и свойства.Мне нужен способ выбросить нужные мне значения в соответствующие им свойства объектов
Так, например, я нахожу узел body
.Теперь у меня есть специальный маленький объект для этого узла.Мне нужно добавить почти все об этом маленьком парне в свойства его объекта.
Так что мне нужно, чтобы он выглядел так:
Превращая это:
<html>
<body style="margin:0; padding:0;" title="My Title">
<p>some text</p>
<div class="wrapper"></div>
<footer></footer>
</body>
</html>
В это:
this.nodesInfo = [ // All nodes in the page's DOM
{
type: 'body', // ex: body, section, aside, div, etc.
id: 'myID', // the Id of that element
class: ['myClass1', 'myClass2'], // the class/class' of that element
depth: '2', // the level in the page's DOM in which that element sits, this will be an integer
parent: 'html', // that elements direct parent Node
children:['div.wrapper', 'p', 'footer'], // any child Nodes that, that element may be a parent to
text: '', // the text inside that element if any exists
attributes: ["style=margin:0; padding:0;", "title='My Title'"] // all attributes of this node
}
];
Конечно, он будет циклически проходить через каждый обнаруженный узел и делать это соответственно для каждого узла, пока не закончатся узлы.
Класс, потомки иАтрибуты properties - это массивы для простой возможности кратных любого из них.Все остальное - просто строка, поскольку узел не может иметь более одного идентификатора, заголовка или прямого родительского тега.
Если узел не содержит некоторые из этих свойств, то это свойство останется пустым / null /undefined.
Мой вопрос прост.Возможно ли это, если бы мне не пришлось вместо этого создавать каждый объект отдельно и помещать их в мой массив nodesInfo
?
Я думаю, что самый простой способ сделать это - создать объект каждого узла изатем помещаем их все (после того, как они все созданы) в массив.