0

我在获取父节点 ID 以完整显示时遇到了一些问题。

我正在使用循环来检测表中的 div 元素,然后我让它找到父 TD 节点,并在另一个变量中从中获取 id。

我的问题是,在这个循环中,我在数组中使用这个 TD id 在自身上构建一个变量,当它打印时,第一次它只会显示第一个字符,然后第二次它只会显示第二个字符并且任何时候之后会出现空白。

如果我从变量中删除数组,它将打印整个 id,但每次循环运行时它将旧值重命名为最新值。

有人可以帮我解决这个问题吗?

任何帮助表示赞赏,在此先感谢。

这是我正在写的功能

test.save = function () {

var cell = rd = REDIPS.drag,
    page1a = document.getElementById(redips.p1a),
    divs = TableID.getElementsByTagName('DIV'),
    rd.find_parent('TD', rd.obj),     //parent cell
    st = cell.id,                           //parent cell ID
    st,                     
    id,                                     //div id
    cid,                                   //cell id    
    ccid, 
    concatenator,                         // concatenate oDiv ID
    query = '',
    div,                                // current DIV element
    i;                                  // loop variable

    for (i = 0; i < divs.length; i++) {

    // set current DIV element
    div = divs[i];

    // set current TD ID
    cid = st[i];

    if (div.className.indexOf('drag') > -1) {

                    //takes two characters off of the DIV ID only
        concatenator = div.id.substring(0, div.id.length - 2);

        // creates the query through the loop
            query += cid + '=' + concatenator + ' ';
        }
}

     if (query.length > 0) {
     document.getElementById('message').innerHTML = query;
}
    };

这是一个使用带有 TD ID 的数组的版本的链接:http: //stevenschemers.com/beta1/

这里有一个不使用 TD ID 数组的版本的链接:http: //stevenschemers.com/beta2/

我还注意到,如果运行两次,这似乎是循环,因为“i”会向上计数 0、2、4、6。或者有时是 1、3、5、7

4

1 回答 1

0
// loop goes through each DIV element collected on the left side of page 1
for (i = 0; i < divs.length; i++) {
    // set current DIV element
    div = divs[i];

    if (div.className.indexOf('drag') > -1) {
        // sets current cell ID for dropped div
        cid = rd.find_parent('TD', div).id;

        concatenator = div.id.substring(0, div.id.length - 2);
        // creates the query through the loop
            querya += cid + '=' + concatenator + '&';
            qc++;
        }
}
于 2012-05-17T23:32:03.443 回答