在JScode中调用HTML Object

时间:2014-04-23 09:30:29

标签: javascript jquery

我很抱歉这个愚蠢的标题,但我真的不知道如何命名我的问题。

基本上,我的代码中有许多函数,一个特定需要两个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。)

对于整个代码 -

http://jsfiddle.net/2dtxj/

如果有什么不清楚(我担心会出现这种情况,因为我有时甚至不能理解自己:D)我会回答有关问题的问题。

提前致谢 编辑:问题是,当我键入连接(div1,div2,&#39; some_color&#39;,5)工作完美,但我无法弄清楚如何根据对象更改数字

2 个答案:

答案 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])