循环时如何访问变量

时间:2018-11-22 01:12:29

标签: javascript tampermonkey

我有这段代码

(function() {
    'use strict';
    // Returns current URL page.
    var currentURL = window.location.protocol + "//" + window.location.host + "/" + 
                     window.location.pathname + window.location.search 
    var market_table = document.getElementById("market_item_table");
    var market_table_cells = document.getElementsByTagName("td");
    var rowLength = market_table.rows.length;

    var items = document.querySelectorAll('div[data-item-id]')
    var j = 0;

    items.forEach(function(getItem) {
        var itemData = items[j].dataset;
        var tooltip = JSON.parse(itemData.tooltip)[0][0][0];
        console.log(tooltip);
        j++
    });

    for (var i = 1; i < rowLength; i++) {
        var oCells = market_table.rows.item(i).cells;
        console.log("Paka nr. " + i + "Nazwa przedmiotu: " + tooltip + ' ' + 
                     oCells[1].innerText + ' ' + oCells[2].innerText);
    }        
})();

现在如何处理每次遍历NodeList的变量tooltip的值?

更大的情况是我想为列出的正确项目分配正确的名称。

1 个答案:

答案 0 :(得分:0)

您可以在for循环之外设置一个数组,用于存储工具提示的值,然后在单独的函数中使用它:

var tooltips = [];
Items.forEach(function(getItem) {
    var itemData = getItem.dataset;
    var tooltip = JSON.parse(itemData.tooltip)[0][0][0];
    console.log(tooltip);
});

for (var i=0; i < rowlength... {
    // Do something with the tooltips
    console.log(tooltips[i]);
}