Хорошо, это убивает меня всю ночь, я имею в виду, что я работал над этим кодом по крайней мере 8 часов. В чем проблема с этим, argggg.
Я пытаюсь обновить все <span id="column_[row index number]_[column index number]_[layout position number]">
, чтобы увеличить его на единицу до следующего id="row_[row index number]"
tr element
, элементы tr, которые он должен искать, имеют идентификатор tr_[row index number]_[column index number]_[layout position number]
, но какой-то бог знает, что причина, это дает мне проблемы. Он обновляет тот же тег <span>
2x, и это меняет его с желаемого значения на 1 больше, чем должно быть ... В firstChild <td> element
каждого из <tr> elements
есть только тег 1 <span>
. Я просто не понимаю, почему он устанавливает его в 2 раза только для одного из них, и кажется, что это случайно или что-то в этом роде. argggg.
В теге <td id="tdcolumn_[row index number]_[column index number]_[layout position number]>
есть только 1 <span>
элемент, но по какой-то причине он вызывает один и тот же тег дважды. Это следует назвать только один раз. arggg. Я не понимаю, почему ??
Вот мой код, кто-то, пожалуйста, помогите мне здесь ...
// 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;
}
}
Пожалуйста, помогите мне, спасибо:)