我在获取父节点 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