由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