如果有选择,使用JQuery还是PHP构建DOM元素更好


Given the choice, is it better to construct DOM elements using JQuery or PHP

正如标题所示,我正在寻找一个最佳实践问题的答案,

使用JQuery或PHP构造DOM元素更好吗。后端或前端。

为了给出一些上下文,我的PHP循环构建这样的页面元素;

<div id='content'>
     <div id='el1'></div>
     <div id='el2'></div>
     <div id='el3'></div>
     <div id='el4'></div>
</div>

我的Jquery脚本像这样重新排列DOM;

<div id='content'>
     <div class='wrapper'>
          <div id='el1'></div>
          <div id='el2'></div>
     </div>
     <div class='wrapper'>
          <div id='el3'></div>
          <div id='el4'></div>
     </div>
</div>

我正在做的实际任务很小,几乎和这个例子一样微不足道。重写PHP有什么好处吗?

谢谢,凸轮

如果没有需要满足的DB或用户输入相关条件,只需使用PHP即可如果jQuery一开始就知道标记应该是什么,那么用jQuery更改DOM是没有意义的。你会任意延长HTML生成管道。

如果有选择,我会选择使用jQuery。这减轻了服务器的负载,让用户看到某些事情正在立即发生,而不是等待服务器完成它的工作。

当使用jQuery构建DOM元素时,我会使用以下内容http://mustache.github.com/或http://documentcloud.github.com/underscore/

这些库将清理您的jQuery代码,并将它们很好地分离。

我在我开发的几个系统上做的任何基准测试(小的,每秒不超过几十次点击),用php构建DOM都要快得多
我的直觉告诉我,在大量JS的大型网站上,在服务器端构建并缓存它仍然会更快

我的答案是采用最简单的解决方案。对于这样一个小的解决方案,只需在一个地方完成所有操作。否则,如果出现问题,您需要调试两个位置。

我还记得上次我有一个学生写php代码,它基于数组生成javascript。javascript将在客户端生成网页。这是一个一团糟的意大利面条代码,他整个学期的大部分时间都在努力找出代码。

保持简单。。。

对于这么小的东西,只要你不担心你的用户禁用了JS,差异就非常小。