我想在javascript上的标签内部绘制HTML代码的文字字符串,我试图逃避它但不起作用。
function paint_string(n){
document.write("'<table>'");
for (i in rango(0,n)){
document.write("'<tr><td></td></tr>'");
}
document.write("'</table>'");
}
答案 0 :(得分:1)
您的实施中存在太多问题。
''
:document.write("'<table>'");
document.write()
,这可能会非常危险。document.write('<table>')
时,浏览器会自动填充<table></table>
。 rango(0, n)
是什么以及您将如何在此处使用它。您需要的是构建HTML并更新特定元素的innerHTML
。
function paint_string (n, el) {
var finalHtml = '<table>';
for (i in rango(0, n)) {
finalHtml += '<tr><td></td></tr>';
}
finalHtml += '</table>';
document.getElementById(el).innerHTML = finalHtml;
}
我创建了一个可能适用于您的代码的工作代码段。
function paint_string (n, el) {
var finalHtml = '<table border="1" cellspacing="1" cellpadding="1" width="100%">';
for (var i = 0; i < n; i++) {
finalHtml += '<tr><td> </td></tr>';
}
finalHtml += '</table>';
document.getElementById(el).innerHTML = finalHtml;
}
paint_string(5, "hello");
<div id="hello"></div>
或者如果我理解你的问题,你想把文字作为HTML,那么你需要这样做:
function paint_string (n, el) {
var finalHtml = '<table border="1" cellspacing="1" cellpadding="1" width="100%">\n';
for (var i = 0; i < n; i++) {
finalHtml += '<tr><td></td></tr>\n';
}
finalHtml += '</table>\n';
document.getElementById(el).textContent = finalHtml;
}
paint_string(5, "hello");
<pre id="hello"></pre>
答案 1 :(得分:0)
只需删除单引号,如:
function paint_string(n) {
document.write("<table>");
for (i in rango(0, n)) {
document.write("<tr><td></td></tr>");
}
document.write("</table>");
}
答案 2 :(得分:0)
我对<
使用"<"
,>
使用">"
。
function paint_string(n){
document.write('<table>');
for (i in rango(0,n)){
document.write('<tr><td></td></tr>');
}
document.write('</table>');
}