我做了一些谷歌搜索,看着你可能不需要jquery"但仍然无法找出问题所在。
我有一个makeTable函数,它构建一个html字符串形式的表来形成一个表。当我使用Jquery .html方法将输出表附加到DOM时,该函数很有用。
这是功能:
function drawTable () {
var outputString = '';
for(var i = 1; i <= 12; i++ ){
outputString += "<tr>";
for(var j = 1; j <= 12; j++) {
outputString += "<td>" + i * j + "</>";
}
outputString += "</tr>";
}
$("#output").html(outputString);
}
drawTable();
但是,当我不使用Jquery并将$("#output").html(outputString);
更改为document.getElementById('output').innerHTML(outputString);
时,表格不会在页面上呈现。我只得到一行数字。当我检查元素时,<tr>
和<td>
元素根本没有呈现,我不明白为什么。
我很困惑。我应该如何在普通的JS中呈现这个表?我对innerHTML方法有什么不了解?函数是相同的,我只是改变了将outputString附加到DOM的行,并且当我尝试在普通JS中执行它时,我真的不明白为什么它没有正确呈现。请赐教!
答案 0 :(得分:3)
@Igor Raush的评论是正确的。你错误地使用了innerHtml。它不是采用参数的方法。它是一个属性,其值必须直接设置为等号。
简单的javascript:
document.getElementById("output").innerHtml = outputString;
在jQuery中:
$("#output").html(outputString);