Onclick函数,内部HTML和创建表

Onclick functions, innerHTMLs and creating tables

本文关键字:创建 HTML 内部 函数 Onclick      更新时间:2023-09-26

所以这是代码:

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

我在其中包含了"rizzalt rezzalt",以便在堆栈溢出上使用代码截图时提供确认。

所以它将创建一个战舰网格,A-J,1-14。 我想发生的是,当玩家点击一个方块(例如:C4)时,我希望控制台说"我工作",所以......我知道它有效。 表格正确加载,但当我单击一个单元格时,它给我:未捕获的语法错误:意外令牌非法

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

谢谢大家的帮助。

编辑:已解决。

再次感谢大家的帮助。 代码正常工作,现在我可以开始处理更多的战舰游戏。

请检查此修改版本的代码

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

你的转义字符是错误的。 它应该是',而不是/

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

试试:

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