(Vis.js 网络)如何将节点数组放入循环中以获取我的数据?

(Vis.js network) How do I put the nodes array in a loop to get my data?

我有几个 div 包含我想用作 idlabel 的数据我的网络节点的 title 等。

我创建了一个 for 循环,它获取所有现有的 div 和特定的 class,然后将所有子 div 的内容存储在变量中。 为了生成与 div 一样多的节点,我假设下一步是将节点数组放入循环中,但如果这样做,网络不会加载。

这是我现在的代码:它只生成一个节点,包含最后一个 div 的数据,因为节点数组不在循环中。我如何正确地将它放入循环中?

    var nombreNodes= $('.personnage');
    for (var i = 0; i < nombreNodes.length; i++) {
        var nodesId = document.getElementsByClassName('id')[i].innerHTML;
        var nodesLabel = document.getElementsByClassName('label')[i].innerHTML;
        var nodesTitle = document.getElementsByClassName('title')[i].innerHTML;
        var nodesGroup = document.getElementsByClassName('group')[i].innerHTML;
        var nodesFontSize = document.getElementsByClassName('fontSize')[i].innerHTML;
        var nodesFontColor = document.getElementsByClassName('fontColor')[i].innerHTML;
        var nodesFontFace = document.getElementsByClassName('fontFace')[i].innerHTML;
    }

    // create an array with nodes
    var nodes = [
        {id: nodesId, 
        label: nodesLabel, 
        title: nodesTitle, 
        group: nodesGroup, 
        font: nodesFontSize + ' ' + nodesFontFace + ' ' + nodesFontColor},
    ];

正如我所想,您需要将节点添加到数组中,该数组可从 for 循环外部使用。以下示例应该有效(目前未经测试)

var nodes = [];
var nombreNodes= $('.personnage');
for (var i = 0; i < nombreNodes.length; i++) {
    var nodesId = document.getElementsByClassName('id')[i].innerHTML;
    var nodesLabel = document.getElementsByClassName('label')[i].innerHTML;
    var nodesTitle = document.getElementsByClassName('title')[i].innerHTML;
    var nodesGroup = document.getElementsByClassName('group')[i].innerHTML;
    var nodesFontSize = document.getElementsByClassName('fontSize')[i].innerHTML;
    var nodesFontColor = document.getElementsByClassName('fontColor')[i].innerHTML;
    var nodesFontFace = document.getElementsByClassName('fontFace')[i].innerHTML;

    nodes.push({
        id: nodesId, 
        label: nodesLabel, 
        title: nodesTitle, 
        group: nodesGroup, 
        font: nodesFontSize + ' ' + nodesFontFace + ' ' + nodesFontColor
    });
}
// This dataset can be added to the vis.network
var dataSet = new vis.DataSet(nodes);