2014-11-21 44 views
0

所以這裏的代碼:的onclick功能,innerHTMLs和創建表

window.onload=function(e){ 
 
//Created by Firestar001 
 
\t var X; 
 
\t var Y; 
 
\t 
 
\t var board=""; 
 
\t 
 
\t var rizzalt=document.getElementById("rezzalt"); 
 
\t 
 
\t var letters = new Array; 
 
\t letters = ["A","B","C","D","E","F","G","H","I","J"]; 
 
\t 
 
\t for(a=0; a<=9; a++){ 
 
\t board+="<tr>"; 
 
\t \t for(b=1;b<=14; b++) 
 
\t { 
 
\t \t board+="<td id=/'"+ letters[a] + b +"/' onClick=/'AreaCode()/'>" + letters[a]+b+"</td>"; 
 
\t } 
 
\t board+="</tr>"; 
 
\t } 
 
\t 
 
\t var Grade = document.getElementById('friend_water'); 
 
\t Grade.innerHTML = board; 
 
\t } 
 
\t function AreaCode(){ 
 
\t console.log("I work"); 
 
     rizzalt.innerHTML+="Works "; 
 
\t }
<table id="friend_water" border="1 solid black">jklol</table><p></p><p id="rezzalt"></p>

我已經包含在裏面了「rizzalt rezzalt」提供了確認,而在使用代碼片段的東西堆棧溢出。

因此,它會創建一個戰列艦網格,A-J,1-14。我想要發生的是當玩家點擊廣場(例如:C4)時,我希望控制檯說出「我工作」,所以......我知道它是有效的。該表正確加載,但當我點擊它給我的單元格時:未捕獲的SyntaxError:意外的令牌非法

在html中引用第1行,即<!DOCTYPE html>行。

感謝大家的幫助。

編輯:已解決。

再次感謝您的一切幫助。代碼正常工作,現在我可以開始更多我的戰列艦遊戲。

+0

這真的需要一個不同的標題。目前的一個沒有提到什麼問題,也不會被其他遇到同樣問題的人發現。 – iamnotmaynard 2014-11-21 21:52:10

+0

有什麼標題應該是一個想法? – Firestar001 2014-12-07 01:47:03

回答

1

請檢查你的代碼這個修改

var rizzalt=document.getElementById("rezzalt"); 
 
window.onload=function(e){ 
 
//Created by Firestar001 
 
\t var X; 
 
\t var Y; 
 
\t 
 
\t var board=""; 
 
\t 
 
\t 
 
\t 
 
\t var letters = new Array; 
 
\t letters = ["A","B","C","D","E","F","G","H","I","J"]; 
 
\t 
 
\t for(a=0; a<=9; a++){ 
 
\t board+="<tr>"; 
 
\t \t for(b=1;b<=14; b++) 
 
\t { 
 
\t \t board+="<td id='"+ letters[a] + b +"' onClick='AreaCode()'>" + letters[a]+b+"</td>"; 
 
\t } 
 
\t board+="</tr>"; 
 
\t } 
 
\t 
 
\t var Grade = document.getElementById('friend_water'); 
 
\t Grade.innerHTML = board; 
 
\t } 
 
\t function AreaCode(){ 
 
\t console.log("I work"); 
 
     rezzalt.innerHTML+="Works "; 
 
\t }
<table id="friend_water" border="1 solid black">jklol</table><p></p><p id="rezzalt"></p>

+0

所以看來我會用「''」來保持引用不會解釋什麼是代碼和什麼是文本。 (對不起,如果這沒有道理。) 再次感謝您的幫助。 – Firestar001 2014-12-07 01:48:36

+0

是的,你是對的,隨時歡迎你:-) – Ammar 2014-12-07 11:06:27

+0

只是想我會評論它,以防其他人看着這個,所以他們不會像「有什麼區別?」 – Firestar001 2014-12-07 18:28:29

0

您的轉義字符是錯誤的。它應該是\,不/

window.onload=function(e){ 
 
//Created by Firestar001 
 
\t var X; 
 
\t var Y; 
 
\t 
 
\t var board=""; 
 
\t 
 
\t var rizzalt=document.getElementById("rezzalt"); 
 
\t 
 
\t var letters = new Array; 
 
\t letters = ["A","B","C","D","E","F","G","H","I","J"]; 
 
\t 
 
\t for(a=0; a<=9; a++){ 
 
\t board+="<tr>"; 
 
\t \t for(b=1;b<=14; b++) 
 
\t { 
 
     //error was below. all escape slashes were the wrong slash. 
 
\t \t board+="<td id=\'"+ letters[a] + b +"\' onClick=\'AreaCode()\'>" + letters[a]+b+"</td>"; 
 
\t } 
 
\t board+="</tr>"; 
 
\t } 
 
\t 
 
\t var Grade = document.getElementById('friend_water'); 
 
\t Grade.innerHTML = board; 
 
\t } 
 
\t function AreaCode(){ 
 
\t console.log("I work"); 
 
     rizzalt.innerHTML+="Works "; 
 
\t }
<table id="friend_water" border="1 solid black">jklol</table><p></p><p id="rezzalt"></p>

0

嘗試:

board+='<td id="' + letters[a] + b + '" onClick="AreaCode()">' + letters[a]+b+'</td>'; 
+2

請爲此代碼回答提問者問題添加說明。 – 2014-11-21 21:50:45