【发布时间】:2011-06-23 09:33:40
【问题描述】:
我创建了一个将一些行插入到表中的脚本。脚本如下所示:
for (j = 0; j < <?php echo $i; ?>; j++)
{
if ((utilizator[j]['nume'].toLowerCase().indexOf(nume.toLowerCase()) != -1) && (utilizator[j]['locatie'].toLowerCase().indexOf(locatie.toLowerCase()) != -1) && (utilizator[j]['varsta'].toLowerCase().indexOf(varsta.toLowerCase()) != -1) && (utilizator[j]['email'].toLowerCase().indexOf(email.toLowerCase()) != -1) && (utilizator[j]['telefon'].toLowerCase().indexOf(telefon.toLowerCase()) != -1))
{
var insertString = '<td>'+utilizator[j]['nume']+'</td>';
insertString += '<td>'+utilizator[j]['locatie']+'</td>';
insertString += '<td>'+utilizator[j]['varsta']+'</td>';
insertString += '<td>'+utilizator[j]['email']+'</td>';
insertString += '<td>'+utilizator[j]['telefon']+'</td>';
insertString += '<td>'+utilizator[j]['punctaj']+'</td>';
if (utilizator[j]['suspendat'] != 1)
{
insertString += '<td id="suspendareButon'+utilizator[j]['id']+'"><input type="button" value="Suspenda" onclick="suspendare(1, '+utilizator[j]['id']+')" /></td>';
}
else
{
insertString += '<td id="suspendareButon'+utilizator[j]['id']+'"><input type="button" value="Activeaza" onclick="suspendare(0, '+utilizator[j]['id']+')" /></td>';
}
var trTag = document.createElement("tr");
trTag.innerHTML = insertString;
document.getElementById("utilizatoriId").appendChild(trTag);
}
}
脚本在 Firefox 4.0+ 中运行良好(所以我没有发现问题),但我的一位同事使用的是 Firefox 3.6.18,似乎 td 标记已被剥离。我得到类似<tr>data data data data...</tr> 而不是<tr></td>data</td><td>data</td>...</tr>。
任何想法为什么会发生这种情况?
在 IE 中我也得到一个错误并且什么都没有显示(错误是“对象不显示这个属性或方法”,我不能准确地指出这一行,因为 IE 不善于报告......)
【问题讨论】:
-
为什么不始终如一地使用 DOM?
-
是的...修复了 ff 部分。 IE 仍然死掉。
标签: javascript firefox html-table cross-browser