画面上有一个table,我想用js去遍历每个td的内容和颜色,但是一旦遍历到第7行,IE就会报错,说这个执行非常慢,要求中断。
哪位可以帮我修改一下这个js,让它快一点。谢谢。function onToroku() {
var d = document;
var tr = d.getElementById("gvSyukin").getElementsByTagName("tr");
var rowObj;
var stItem;
var sValue = "";
var i, j;
var sHeader;
var iRowCT = 1; for (i = 2; i <= tr.length-1; i++) {
if (iRowCT <= 3) {
rowObj = tr[i];
stItem = rowObj.getElementsByTagName("td")[2];
if (sValue != "") {
sValue = sValue + "/";
}
sValue = sValue + stItem.firstChild.data j = 3;
do {
stItem = rowObj.getElementsByTagName("td")[j];
if (stItem.firstChild.data == " " || stItem.firstChild.data == "休") {
if (stItem.firstChild.data == " ") {
sValue = sValue + "," + "1";
}
else {
sValue = sValue + "," + "0";
} if (stItem.bgColor == "#808080" || stItem.bgColor == "#ffffff" || stItem.bgColor == "#ff8080") {
sValue = sValue + "," + "0";
}
if (stItem.bgColor == "#a0a0ff" || stItem.bgColor == "#7f40c0") {
sValue = sValue + "," + "1";
}
if (stItem.bgColor == "#0000ff" || stItem.bgColor == "#cf90bf") {
sValue = sValue + "," + "2";
} j++;
}
else {
break;
} } while (true)
iRowCT = iRowCT + 1;
}
else {
i = iRowCT + 2
}
}
form1.hSyukiData.value = sValue;
}
哪位可以帮我修改一下这个js,让它快一点。谢谢。function onToroku() {
var d = document;
var tr = d.getElementById("gvSyukin").getElementsByTagName("tr");
var rowObj;
var stItem;
var sValue = "";
var i, j;
var sHeader;
var iRowCT = 1; for (i = 2; i <= tr.length-1; i++) {
if (iRowCT <= 3) {
rowObj = tr[i];
stItem = rowObj.getElementsByTagName("td")[2];
if (sValue != "") {
sValue = sValue + "/";
}
sValue = sValue + stItem.firstChild.data j = 3;
do {
stItem = rowObj.getElementsByTagName("td")[j];
if (stItem.firstChild.data == " " || stItem.firstChild.data == "休") {
if (stItem.firstChild.data == " ") {
sValue = sValue + "," + "1";
}
else {
sValue = sValue + "," + "0";
} if (stItem.bgColor == "#808080" || stItem.bgColor == "#ffffff" || stItem.bgColor == "#ff8080") {
sValue = sValue + "," + "0";
}
if (stItem.bgColor == "#a0a0ff" || stItem.bgColor == "#7f40c0") {
sValue = sValue + "," + "1";
}
if (stItem.bgColor == "#0000ff" || stItem.bgColor == "#cf90bf") {
sValue = sValue + "," + "2";
} j++;
}
else {
break;
} } while (true)
iRowCT = iRowCT + 1;
}
else {
i = iRowCT + 2
}
}
form1.hSyukiData.value = sValue;
}
var d = document;
var tr = d.getElementById("gvSyukin").getElementsByTagName("tr");
var rowObj;
var stItem;
var sValue = [];
var i, j;
var sHeader;
var iRowCT = 1;
for (i = 2; i <= tr.length-1; i++) {
if (iRowCT <= 3) {
rowObj = tr[i];
stItem = rowObj.getElementsByTagName("td")[2];
if (sValue.length > 0) {
sValue.push("/");
}
sValue.push(stItem.firstChild.data); j = 3;
do {
stItem = rowObj.getElementsByTagName("td")[j];
if (stItem.firstChild.data == " " || stItem.firstChild.data == "休") {
if (stItem.firstChild.data == " ") {
sValue.push("," + "1");
}
else {
sValue.push("," + "0");
} if (stItem.bgColor == "#808080" || stItem.bgColor == "#ffffff" || stItem.bgColor == "#ff8080") {
sValue.push("," + "0");
}
if (stItem.bgColor == "#a0a0ff" || stItem.bgColor == "#7f40c0") {
sValue.push("," + "1");
}
if (stItem.bgColor == "#0000ff" || stItem.bgColor == "#cf90bf") {
sValue.push("," + "2");
} j++;
}
else {
break;
} } while (true)
iRowCT = iRowCT + 1;
}
else {
i = iRowCT + 2
}
}
form1.hSyukiData.value = sValue.join("");
}
var d = document;
var tr = d.getElementById("gvSyukin").getElementsByTagName("tr");
var rowObj;
var stItem;
var sValue = [];
var i, j;
var sHeader;
var iRowCT = 1;
var sTempValue,sTempColor; for (i = 2; i <= tr.length - 1; i++) {
if (iRowCT <= 3) {
rowObj = tr[i];
stItem = rowObj.getElementsByTagName("td")[2];
if (sValue.length > 0) {
sValue.push("/");
}
sValue.push(stItem.firstChild.data); j = 3;
do {
stItem = rowObj.getElementsByTagName("td")[j];
sTempValue = stItem.firstChild.data;
sTempColor = stItem.bgColor;
if (sTempValue == " " || sTempValue == "莨・) {
if (sTempValue == " ") {
sValue.push("," + "1");
}
else {
sValue.push("," + "0");
} if (sTempColor == "#808080" || sTempColor == "#ffffff" || sTempColor == "#ff8080") {
sValue.push("," + "0");
}
else {
if (sTempColor == "#a0a0ff" || sTempColor == "#7f40c0") {
sValue.push("," + "1");
}
else {
if ((sTempColor == "#0000ff" || sTempColor == "#cf90bf")) {
sValue.push("," + "2");
}
}
} j++;
}
else {
break;
} } while (true)
iRowCT = iRowCT + 1;
}
else {
i = iRowCT + 2
} } form1.hSyukiData.value = sValue.join("");
}