我很抱歉这个愚蠢的标题,但我真的不知道如何命名我的问题。
基本上,我的代码中有许多函数,一个特定需要两个div来执行。到目前为止一切正常,但是当我需要在带有变量的for循环中调用函数时,我无法调用它。要正确地提出问题,我需要您查看一些代码。这是包含数据的对象。
var data = {
'coords' : [[784, 42], [802, 324], [128, 365], [710, 166], [610, 391], [513, 283], [544, 48], [323, 204], [316, 50], [938, 52]],
'walkthrough' : [8, 6, 0, 9, 3, 1, 5, 4, 7, 2],
'highscore' : 2283
};
这是在正确的位置创建对象的功能,我得到了div1,div2等等。
(function(){
for (var i = 0; i < data.coords.length; i += 1){
var span = document.createElement("span");
span.innerHTML = "<img src=\"Untitled-4.jpg\" alt=\"\" width=\"35\" height=\"35\" id=\"div" + i + "\">";
span.style.position = "absolute";
span.style.left = data.coords[i][0] + "px";
span.style.top = data.coords[i][1] + "px";
document.body.appendChild(span);
}
}());
在另一笔交易完成后,我点击一个按钮来执行此功能
$(r).click(function() {
for(var j = 0; j<data.walkthrough.length; j++){
connect(div[j], div[j+1], "#F0F", 3)
}
});
问题是,我无法找到在代码中编写代码的方法,以便我的JS了解它的内容。我试过了$(&#34; div&#34; + data.walkthrough [j])但是没有用。我不能保留id只是数字,因为我无法调用另一个我需要的功能。
任何人都有任何想法,如何在for循环中编写div [j],以便它执行。(它包含了一个JQuery。)
对于整个代码 -
如果有什么不清楚(我担心会出现这种情况,因为我有时甚至不能理解自己:D)我会回答有关问题的问题。
提前致谢 编辑:问题是,当我键入连接(div1,div2,&#39; some_color&#39;,5)工作完美,但我无法弄清楚如何根据对象更改数字
答案 0 :(得分:1)
如果您的ID是唯一的,这应该有效:
connect($('#div' + j).get(0), $('#div' + (j + 1)).get(0), "#F0F", 3);
如果您尝试传递connect-function
dom-objects。
答案 1 :(得分:1)
我想你在前面忘记了#
,所以它是:
$("#div" + data.walkthrough[j])
而不是:
$("div" + data.walkthrough[j])