javascript - 我如何 append 到这个函数中?

标签 javascript jquery append

我有这个代码:

for (var i = 0; i < data.times.length; ++i) {
    var time = formatTime(data.times[i].time);
    tableContent += '<tr><td>' + data.times[i].destination.name + '</td><td id="appendLate' + i + '">' + time + '</td><td>' + data.times[i].track + '</td><td>' + data.times[i].train_type + '</td><td>' + data.times[i].company + '</td></tr>'
    // laat vertragingen zien (BETA)
    if (data.times[i].delay / 60 >= 1) {
        $('#appendLate' + i + '').append("+" + data.times[i].delay / 60).addClass("late");
    }
}
table.html(tableContent);
}

if 语句 append 内容并添加一个类。我知道它不会像这样工作..但我似乎不明白它是如何工作的..有人可以帮忙吗?

现场观看:http://codepen.io/shiva112/pen/JGXoVJ?editors=001

最佳答案

嗯,你基本上就快到了。正确的方法是在进行任何 DOM 操作之前构建整个字符串,因为 DOM 操作非常慢(相对而言)。

假设您的index.html 如下所示:

<html>
<head>
  <title>Cool site!</title>
</head>
<body>
  <table id="myCoolTable"></table>
</body>
</html>

然后你的 JavaScript 就会变成:

var tableContent = '';
for (var i = 0; i < data.times.length; ++i) {
  var time = formatTime(data.times[i].time);

  tableContent += '<tr>'
                    + '<td>' + data.times[i].destination.name + '</td>';

  if (data.times[i].delay / 60 >= 1) {
    tableContent += '<td id=\'appendLate\'' + i + ' class=\'late\'>' + time + '</td>' + '+' + (data.times[i].delay / 60);
  } else {
    tableContent += '<td id=\'appendLate\'' + i + '>' + time + '</td>';
  }

  tableContent += '<td id=\'appendLate\'' + i + '>' + time + '</td>'
                + '<td>' + data.times[i].track + '</td>'
                + '<td>' + data.times[i].train_type + '</td>'
                + '<td>' + data.times[i].company + '</td>'
                + '</tr>';
}

$('#myCoolTable').html(tableContent);

它的作用是为整个表格构建 HTML。然后只更新表一次。希望对您有帮助!

关于javascript - 我如何 append 到这个函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364769/

相关文章:

javascript - 如何使用微数据提取/解析 HTML

java - XOR 字节数组的成本似乎非常低,低于 arraycopy

javascript - 悬停功能不想工作

javascript - Jquery 绑定(bind)转换到 css

python - 将列 append 到新数据框

javascript - 纯 Javascript 代码执行停止混合应用程序中的 ionic 加载指示器

javascript - 使用 codedUI 选择网页中隐藏的单选按钮

javascript - chrome.notifications 的 iconUrl 错误

javascript - 如何从 React 中的 <select> 获取元素的 ID?

javascript - 如何将页眉区域粘贴在页面顶部?