我有这个JS代码:
<script type="text/javascript">
function start() {
document.forms[0].username.focus();
var celdas;
var tabla;
tabla = document.getElementById("tabla");
celdas = tabla.getElementsByTagName("td");
for (var i=0; i<celdas.length; i++) {
if (celdas[i].innerHTML == "<b>Please Login</b>"){
celdas[i].innerHTML = "<b>Identificación de usuario</b>"
}
if (celdas[i].innerHTML == "<b>Name:</b>"){
celdas[i].innerHTML = "<b>Nombre:</b>"
}
if (celdas[i].innerHTML == "<b>Password:</b>"){
celdas[i].innerHTML = "<b>Contraseña:</b>"
}
}
boton = document.getElementById("login_button");
boton.value="Entrar";
}
window.onload = start;
</script>
到这个html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--head, meta tags, body and other stuff--->
<table class="list" id="tabla">
<tr class="dark">
<td colspan=2></td>
</tr>
<tr class="dark">
<td colspan=2><b>Please Login</b></td>
</tr>
<!-- ETC ETC - more table stuff-->
HTML通过了验证,JS在Firefox和IE9中运行,但在IE8甚至IE7中都不行。当我一步步调试 JS 时,我看到 IE8 停在这里:
if (celdas[i].innerHTML == "<b>Password:</b>")
但是不要进入这一步:
celdas[i].innerHTML = "<b>Contraseña:</b>"
我对JS不是很流利,所以,也许我正在做一个完全愚蠢的n00b错误......我的代码对吗?为什么它不起作用?