Javascript / html帮助!应该很简单

时间:2012-04-12 03:28:07

标签: javascript html new-operator

我正在创建一个页面,该页面应该在表格中显示我选择的变量。我做了两次相同的事情,改变了id和cuch,但只有一个有效。我花了一个小时查看语法,并重做分配工作,但它没有帮助。以下是三个主要代码:

var NewGlad = new Array("Jokomopo","Etony","Roy");
var BestGlad = new Array("Johnny","Cod","Billy");

function UpdateTable(){

    document.getElementById("0New").innerHTML = "<a href='" +NewGlad[0]+ "'>" + NewGlad[0] + "</a>";


    document.getElementById("0Best").innerHTML = "<a href='" +BestGlad[0]+ "'>" + BestGlad[0] + "</a>";

}

//上面的函数在onLoad上执行。

这是html,我只会告诉你我们正在处理的表格行:

<tr>

<td class="NewestGlads" id="0New">
fgggrf
</td>

<td class="BestGlads" id="0Best">
fgggrf
</td>

</tr>

仅更新了NewestGlads td。另一个仍显示“fgggrf”

3 个答案:

答案 0 :(得分:2)

不要说这应该很容易。如果这很容易,你就不会向我们要求答案。您的代码可以使用一些改进:

var UpdateTable = function () {
        "use strict";
        var NewGlad = ["Jokomopo", "Etony", "Roy"],
            BestGlad = ["Johnny", "Cod", "Billy"];
        document.getElementById("New0").innerHTML = "<a href='" + NewGlad[0] + "'>" + NewGlad[0] + "</a>";
        document.getElementById("Best0").innerHTML = "<a href='" + BestGlad[0] + "'>" + BestGlad[0] + "</a>";
    };

我更改了您的引用,以便它们以字母字符而不是数字开头。您的HTML需要更改才能匹配。我从未见过以数字开头的标识符,并认为这是一个糟糕的约定,可能容易出错浏览器。通过调用UpdateTable函数来尝试此操作。您也可以通过以下代码执行此操作而无需调用:

var UpdateTable = (function () {
        "use strict";
        var NewGlad = ["Jokomopo", "Etony", "Roy"],
            BestGlad = ["Johnny", "Cod", "Billy"];
        document.getElementById("New0").innerHTML = "<a href='" + NewGlad[0] + "'>" + NewGlad[0] + "</a>";
        document.getElementById("Best0").innerHTML = "<a href='" + BestGlad[0] + "'>" + BestGlad[0] + "</a>";
    }());

答案 1 :(得分:0)

我刚刚使用了你的代码,这给了我正确的结果

<html>
<head>
<script>
    var NewGlad = new Array("Jokomopo","Etony","Roy");
    var BestGlad = new Array("Johnny","Cod","Billy");

    function UpdateTable(){
        document.getElementById("0New").innerHTML = "<a href='" +NewGlad[0]+ "'>" + NewGlad[0] + "</a>";
        document.getElementById("0Best").innerHTML = "<a href='" +BestGlad[0]+ "'>" + BestGlad[0] + "</a>";

    }
</script>
</head>
<body onload="UpdateTable();">
<table>
<tr>
    <td class="NewestGlads" id="0New">fgggrf</td>
    <td class="BestGlads" id="0Best">fgggrf</td>
</tr>
</table>
</body>
</html>

答案 2 :(得分:-1)

innerHTML不正确。

应该阅读

document.getElementById("0New").innerHTML = "<a href=\"" +NewGlad[0]+ "\">" + NewGlad[0] + "</a>"; 
document.getElementById("0Best").innerHTML = "<a href=\"" +BestGlad[0]+ "\">" + BestGlad[0] + "</a>"; 

href附近的双引号。

ID也应以字母开头。将其更改为New0Best0