【问题标题】:html code returns falsehtml代码返回false
【发布时间】:2017-06-25 18:16:46
【问题描述】:

我在表格的最后一行(此处为标题)之后附加行。不知何故,分配的 html 代码返回 false。

<table id="test">
  <tr>
     <td>Title</td>
  </tr>
</table>
var text = ''; 
var length = 3; 
var data = 'hello'; 

for (i=0; i< length; i++) {
    text += '<tr>' + 
            '<td>' + data + ' ' + i '</td>' + 
            '</tr>; 
} 
alert('text: ' + text);
$('#test tr:last').after(text);

奇怪的是,警报消息返回“falsefalsefalse”。这有什么问题?

【问题讨论】:

  • 您的代码有几个语法错误。我建议您先检查控制台并修复它们。完成后,您的代码就可以正常工作了。另请注意,您不应使用alert() 进行调试。请改用console.log
  • for (var i=0; i
  • 为什么投反对票?代码示例清晰,OP只是语法错误
  • @elementzero23 这意味着:零研究工作。
  • 投反对票只是因为标题。不会打扰进一步阅读。

标签: jquery css html-table


【解决方案1】:
<table id="test">
  <tr>
     <td>Title</td>
  </tr>
</table>

<script>
    var text = ''; 
    var length = 3; 
    var data = 'hello'; 
    for (i=0; i < length; i++) {
        text += '<tr>' + 
                '<td>' + data + ' ' + i + '</td>' + 
                '</tr>'; 
     }
     console.log('text: ' + text); // better for debugging
     $('#test tr:last').after(text);
</script>

在这里运行:https://jsfiddle.net/ddan/gtdfy84h/

注意:您的 HTML 代码没有返回 false。这种说法在许多层面上都是错误的。 HTML 是一种标记语言。此处运行并返回意外内容的代码是您的 javascript 代码。

注意2:语法在编写代码时非常重要,语法错误的代码永远不会正常工作。

【讨论】:

    【解决方案2】:

    您错过了一些引号和 + 号。

    这是一个更正的:

    var text = ''; 
    var length = 3; 
    var data = 'hello'; 
    
    for (i=0; i< length; i++) {
        text += '<tr>' + 
                '<td>' + data + ' ' + i + '</td>' + 
                '</tr>'; 
    } 
    alert('text: ' + text);
    $('#test tr:last').after(text);
    

    【讨论】:

    • 你仍然不能在全局范围内使用length作为变量,仍然需要声明i。
    猜你喜欢
    • 2015-12-21
    • 2012-12-17
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    相关资源
    最近更新 更多