2012-04-12 165 views
1

我正在制作一个页面,该页面应该在表格中显示我选择的变量。我做了同样的事情两次,改变了ID和cuch,但只有一个作品。我花了一个小时查看语法,并重新分配了这些工作,但它没有帮助。这里有三个主要代码:Javascript/html的帮助!应该很简单

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”

+2

正确的结果我没有看到有任何问题(FF11)。它运行良好:http://jsfiddle.net/8dsCa/ – mshsayem 2012-04-12 03:34:08

+2

可能是您的浏览器和那些带数字前缀的ID属性的问题。请参阅http://stackoverflow.com/a/79022/283366 – Phil 2012-04-12 03:35:01

+0

是的,对我来说也很好 – 2012-04-12 03:37:23

回答

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

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

+0

只要开头引号字符与它的最终合作伙伴匹配,单引号和双引号字符在XML和HTML中对每个W3C都有效给定的报价对。 – austincheney 2012-04-13 03:19:39

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>