javascript - 通过 JavaScript 编辑 HTML 内容的最佳实践

标签 javascript jquery html

现在让我们忽略没有 JavaScript 的用户,也忽略可访问性。 我想知道通过 JavaScript 将内容注入(inject) HTML 文档的最佳实践是什么。

到目前为止,我想出了以下解决方案:

  • 创建 HTML 的骨架并通过 jQuery 填充它(使用 $(tag).text() )(不过,如果我错了,请纠正我,这会阻止我对内容进行动画处理)
  • 通过JS插入HTML格式的所有内容,这让我可以做类似$("<tag>stuff</p>").fadeIn()的事情和其他事情

请注意,淡入淡出仅用作示例,我想知道是否有一般的最佳实践。

最佳答案

我认为通常是两者的结合。您可能希望在 HTML 中创建静态容器,并在内部创建动态元素作为 jQuery 元素,您可以对其进行修改并在以后追加。理想情况下,您会使用某种模板解决方案。最基本的例子:

function template(data, html) {
  return data.map(function(obj) {
    return html.replace(
      /#\{(\w+)\}/g,
      function(_, match) { return obj[match]; }
    );
  }).join('');
}

var people = [
  { name: 'John', age: 25, status: 'Single' },
  { name: 'Bill', age: 23, status: 'Married' },
  { name: 'Lukas', age: 47, status: 'Married' },
];

var html = template(people,
  '<div>\
    <h1>Name: #{name}</h1>\
    <h2>Age: #{age}, Status: #{status}</h2>\
  </div>'
);

$('#container').append(html);

关于javascript - 通过 JavaScript 编辑 HTML 内容的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447801/

相关文章:

javascript - 仅在单击元素而不是其子元素时触发事件

javascript - 使用带有 2 个按钮的 jQuery 旋转图像

html - 自定义字体未在 Chrome 中显示

javascript - 在 CSS 之前执行 JS

javascript - 如何在 JavaScript 中使用 Observables 来处理 "eachSeries"?

javascript - 显示沿谷歌地图中的点行进的距离

javascript - 使用下拉列表中选定的值更新 HTML.HiddenFor 值

html - 防止 chrome 自动文本对齐 : right for arabic language

html - 我是否正确使用了 Bootstrap 的导航栏?

JavaScript 回调函数