5

我通常会看到版本 1,但我从事的一些开源项目使用版本 2,并且我过去使用过版本 3。有没有人有一个更优雅的解决方案,也许是一个更具可扩展性的解决方案?

版本 1:

var text1 = 'this is my script\'s content';

版本 2:

<script type="text/plain" id="text1">This is my content</script>
<script> var text1 = $('#text1').html(); </script>

版本 3:

<input type="hidden" id="text1" value="this is my content">
<script> var text1 = $('#text1').val(); </script>

版本 4:

<span class="hidden" id="text1">this is my content</span>
4

3 回答 3

7

v1,因为它是在 JavaScript 中存储文本的唯一方法。您列出的所有其他内容都是在 DOM 中存储文本。

DOM 是“表示”,混合“数据”和“表示”通常是个坏主意。例如,当您在 3D FPS 中实现碰撞时,您永远不会从屏幕(演示)扫描模型,而是在数据中比较它们的坐标。

于 2012-12-27T13:09:49.590 回答
4

我从来没有用过v2。我只在与后端通信时使用 v3 和 v4,以防他们需要向我发送一个变量以在我的 JS 中使用。但是对于我所做的任何事情,我都使用 v1 - 没有必要污染你的 html。交互和内容分离。此外,我根据我的内容在双引号和单引号之间切换。不需要所有的转义斜线。

于 2012-12-27T13:08:23.567 回答
0

在版本 1 中存储文本与在 DOM 中存储数据一样好

于 2012-12-27T13:11:15.863 回答