Javascript 获取动态加载的整数变量的值

Javascript 获取动态加载的整数变量的值,javascript,webview,electron,Javascript,Webview,Electron,我正在尝试动态创建元素,并向它们添加事件侦听器。下面是一些代码: var marks = { list:[{ selected: "content", url: "http://youtube.com/feed/subscriptions", trait: "id" },{ selected: "js-streams streams items", url: "http://twitch.tv/directory/following", t

我正在尝试动态创建元素,并向它们添加事件侦听器。下面是一些代码:

var marks = {
  list:[{
    selected: "content",
    url: "http://youtube.com/feed/subscriptions",
    trait: "id"
  },{
    selected: "js-streams streams items",
    url: "http://twitch.tv/directory/following",
    trait: "class"
  }]
};

var l = marks.list.length;

var web = "<webview src='https://youtube.com/feed/subscriptions' preload='preload.js' disablewebsecurity></webview>";    

for(var i = 0; i < l; i++){
  var webadd = "<webview id=web" + i + " src=" + marks.list[i].url + " preload='preload.js' disablewebsecurity></webview>";
  $('#canvas1').append(webadd);

  document.getElementById("web" + (i)).addEventListener("dom-ready", function() {
        console.log("nice" + (i)); // <-- This line most likely needs changing
  });
}
var标记={
名单:[{
选定:“内容”,
url:“http://youtube.com/feed/subscriptions",
特征:“id”
},{
选中:“js流项目”,
url:“http://twitch.tv/directory/following",
特点:“阶级”
}]
};
var l=marks.list.length;
var-web=“”;
对于(变量i=0;iconsole.log(“nice”+(i));//您需要一个额外的函数来创建事件侦听器并将当前的
i
绑定到它:

document.getElementById("web" + (i)).addEventListener("dom-ready", (function(n) { 
    return function() {
        console.log("nice" + (n));
    }
})(i));

您需要一个额外的函数来创建事件侦听器并将当前的
i
绑定到它:

document.getElementById("web" + (i)).addEventListener("dom-ready", (function(n) { 
    return function() {
        console.log("nice" + (n));
    }
})(i));

你最好使用forEach循环。这样你可以有一个闭包并保持上下文。读起来也更好

 mark.list.forEach(function(item, i){
   var webadd = "<webview id=web" + i + " src=" + item.url + " preload='preload.js' disablewebsecurity></webview>";
   $('#canvas1').append(webadd);

  document.getElementById("web" + i).addEventListener("dom-ready", function() {
        console.log("nice" + i); // <-- 
  });
})
mark.list.forEach(功能(项,i){
var webadd=“”;
$(#canvas1')。附加(webadd);
document.getElementById(“web”+i).addEventListener(“dom就绪”,函数(){

console.log(“nice”+i);//您最好使用forEach循环。这样您可以有一个闭包并保持上下文。而且读起来更好

 mark.list.forEach(function(item, i){
   var webadd = "<webview id=web" + i + " src=" + item.url + " preload='preload.js' disablewebsecurity></webview>";
   $('#canvas1').append(webadd);

  document.getElementById("web" + i).addEventListener("dom-ready", function() {
        console.log("nice" + i); // <-- 
  });
})
mark.list.forEach(功能(项,i){
var webadd=“”;
$(#canvas1')。附加(webadd);
document.getElementById(“web”+i).addEventListener(“dom就绪”,函数(){
console.log(“nice”+i)//