2012-04-12 90 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>