好的,这让我整晚都快死了,我的意思是我已经在这段代码上工作了至少 8 个小时。这有什么问题,argggg。
我正在尝试更新所有<span id="column_[row index number]_[column index number]_[layout position number]">
以将其递增一个直到下一个id="row_[row index number]"
tr element
,它应该搜索的 tr 元素的 id 为,tr_[row index number]_[column index number]_[layout position number]
但对于某些上帝知道是什么原因,它给了我一些问题。它正在将相同的<span>
标签更新 2 倍,这会将其从所需的值更改为比应有的值多 1...1 <span>
在firstChild <td> element
每个<tr> elements
. 我只是不明白为什么它只为其中的 1 个设置 2 倍,而且它似乎是随机的。阿格格。
标签中只有 1 个<span>
元素<td id="tdcolumn_[row index number]_[column index number]_[layout position number]>
,但由于某种原因,它调用了同一个标签两次。它应该只调用一次。阿格。我不明白为什么?
这是我的代码有人请在这里帮助我...
// Reorder all columns, if any, in the other rows after this 1.
if (aRowId != 0 && lId.indexOf("tr_" + aRowId) == 0 && rowComplete != aRowId)
{
var tempTr = lTable.childNodes[i].childNodes[p];
while(tempTr.nodeType == 1 && tempTr.nextSibling != null)
{
var tempId = tempTr.getAttribute("id");
if (!tempId) continue;
if (tempId.indexOf("row_") == 0)
{
// All done this row, set it to completed!
rowComplete = aRowId;
break;
}
if (tempTr.hasChildNodes)
{
var doneChilds = false;
// grab the id where tdcolumn_{aRowId}.indexOf = 0.
for (fcTd = 0; fcTd<tempTr.childNodes.length; fcTd++)
{
if (tempTr.childNodes[fcTd].nodeName == '#text') continue;
var tempfcId = tempTr.childNodes[fcTd].getAttribute("id");
if (!tempfcId) continue;
if (tempfcId.indexOf("tdcolumn_" + aRowId) != 0) continue;
// looping through the children in the <td> element here.
if (tempTr.childNodes[fcTd].hasChildNodes)
{
for (x = tempTr.childNodes[fcTd].childNodes.length-1; x>0; x--)
{
if (tempTr.childNodes[fcTd].childNodes[x].nodeName == '#text') continue;
var tempSpanId = tempTr.childNodes[fcTd].childNodes[x].getAttribute("id");
if (!tempSpanId) continue;
if (tempSpanId.indexOf("column_") != 0)
continue;
// alert(tempSpanId);
alert(tempTr.childNodes[fcTd].childNodes[x].nodeName);
var tSpanId = new Array();
tSpanId = tempSpanId.split("_");
if (currColumnId == 0)
{
currColumnId = parseInt(tSpanId[1]);
var incCol = currColumnId;
}
incCol++;
// alert("currColumnId = " + currColumnId + "\n\ntSpanId[1] = " + tSpanId[1] + "\n\nincCol = " + incCol);
// Set the new Id's and Text, after which we can exit the for loop.
tempTr.childNodes[fcTd].childNodes[x].setAttribute("id", "column_" + incCol);
tempTr.childNodes[fcTd].childNodes[x].setAttribute("class", "dp_edit_column");
tempTr.childNodes[fcTd].childNodes[x].innerHTML = oColumnText + " " + incCol;
// tempTr.childNodes[fcTd].setAttribute("id", "tdcolumn_" + aRowId + "_" + (parseInt(tSpanId[1])+1) + "_" + tSpanId[3]);
doneChilds = true;
break;
}
}
else
continue;
if (doneChilds == true)
continue;
}
}
else
continue;
tempTr = tempTr.nextSibling;
}
}
请帮助我,谢谢:)