相关疑难解决方法(0)

我知道在DOM中存储数据很糟糕,但为什么呢?

我一遍又一遍地听说"将DOM用作数据库是不好的做法".

虽然我大多同意这种观点,但这个问题更多的是黑白情况.记住jQuery .data()方法和HTML5数据属性规范的最新版本,为方便起见,将一些数据粘贴到DOM中真的很糟糕吗?

例如,我最近通过执行以下操作在一个充满输入的表上实现了"实时"计算功能:

<table>
  <tr>
    <td><input type="text"></td>
  </tr>
  <tr>
    <td><input type="text"></td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('table').bind('calculate',function(){
  var total = 0;
  $(this).find('tr').each(function(){
    total += $(this).data('value');
  });
  // display total
});

$('table input').bind('change keyup',function(){
  $(this).closest('tr').data('value',$(this).val());
  $(this).closest('table').trigger('calculate');
});
Run Code Online (Sandbox Code Playgroud)

这是一个过于简化的示例,因为我可以跳过调用.data()并直接转到输入值,但让我们想象一个稍微复杂的场景,其中输入以外的元素会影响行值.

在这种情况下使用DOM存储简单数据是错误的吗?

javascript jquery dom

37
推荐指数
3
解决办法
2万
查看次数

标签 统计

dom ×1

javascript ×1

jquery ×1