由JavaScript生成的表类不工作

我需要做我的功课,它非常简单,一切都是正确的,但只是表类不起作用。当它执行时,表出现,但没有类的特征(如边框颜色,宽度等)。由JavaScript生成的表类不工作

我该如何解决这个问题?

function Gerar() {  

if (Entrada.C.value < 0 || Entrada.C.value > 10 || Entrada.L.value < 0 || Entrada.L.value > 10)

alert("As colunas e linhas devem ser positivas e menores que 10 (dez)");

else {

var C, L, contl = 0,

contc = 0;

L = Entrada.L.value;

C = Entrada.C.value;

document.write("<table class='Tabela'>");

for (i = 0; i < L; i++) {

document.write("<tr>");

contl += 1;

for (j = 0; j < C; j++) {

contc += 1;

document.write("<td> " + contc + "," + contl + " </td>");

}

j = 0;

document.write("</tr>");

contc = 0;

}

document.write("</table>");

}

}

.Tabela {  

border-color: blue;

border-style: solid;

border-width: 4px;

}

<form id="Entrada">  

<table>

<tr>

<td>Coluna:</td>

<td><input type="text" name="C" size="1" /></td>

</tr>

<tr>

<td>Linha:</td>

<td><input type="text" name="L" size="1" /></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="button" value="Ok" onclick="Gerar();" /></td>

</tr>

</table>

</form>

回答:

您应该使用DOM来代替书写标记为字符串。

因此,这是一个基于DOM的解决方案的一个例子:

function createTable(intRows, intColomns) 

{

var objTable = document.createElement("table");

objTable.setAttribute("class", "Tabela") // Here goes your class to make the css work

for (var i = 0; i < intRows; i++) {

var objRow = document.createElement("tr")

for (var j = 0; j < intColomns; j++) {

var objColomn = document.createElement("td")

objColomn.innerHTML = j + ", " + i;

objRow.appendChild(objColomn);

}

objTable.appendChild(objRow);

}

document.body.appendChild(objTable);

}

你也应该改变输入从“名”为“ID”,使他们独特的

你的“确定”按钮会不是这个样子:

<input type="button" value="Ok" onclick="createTable(document.getElementById('L').value, document.getElementById('C').value);" /> 

如果你真的想保持document.write()的(我不推荐),你可以去一个在线解决方案:

document.write("<table style='border-color: blue; border-style: solid; border-width: 4px;'>"); 

代替

document.write("<table class='Tabela'>"); 

以上是 由JavaScript生成的表类不工作 的全部内容, 来源链接: utcz.com/qa/258873.html

回到顶部