每次都可以分离内容,演示和行为吗?

时间:2010-02-10 19:24:35

标签: javascript jquery css xhtml web-standards

每次都可以分离内容,演示和行为吗?

很多时候我们通过javascript向html添加类,我们在CSS visibility:hidden inline中使用。

我们是否应该总是花时间让所有人分开?

4 个答案:

答案 0 :(得分:2)

虽然通常可行,但通常不实用。正如你自己所说,它需要时间。你是否愿意投入那段时间取决于许多因素,其中纯粹主义只有一个。

事实上,它可以被论证(并且我亲眼目睹了这一点),因为divspan这样的标签在其自身中并没有任何语义含义,但是专门为造型而发明,当你在页面上使用其中一个时,你已经在混合内容和演示。这是一个很好的哲学讨论,但在商业环境中它无处可去。

所以,虽然你应该总是尝试尽可能地分离内容,演示和行为,但你总是必须停在某个地方,如果只是为了完成其他事情。

答案 1 :(得分:1)

你的问题太过笼统,我们无法给你一个明确的答案。

但是,由于没有什么是不可能的,我会说,是的,这是可能的。

与此同时,我会说:

  • 有时,它会花费太多而你不会这样做
  • 有时,它会让事情变得比分离更难,所以你不会这样做

答案 2 :(得分:1)

有一点没有被谈得太多,那就是如何保持样式不受你的行为影响 - 也就是说,尽可能使用Javascript之类的样式来填充你的Javascript。出于代码美学和一般理智的原因,我发现通过更新“类”值让代码更改样式会更好。换句话说,不要在代码中认为某些东西应该是“紫色” - 认为它应该是“豪华”或“独特”或“丑陋”:

$('element').css({color: 'purple'})

然后你的CSS可以接管:

$('.sections li.updated').each(function() {
  // ...
  if (thingsLookRight) $(this).addClass('kind-of-ugly');
  // ...
});

现在,您可以随时随地轻松调整“丑陋”,而不必弄乱您的Javascript。使字体变大,使其隐藏,无论如何;代码中的逻辑和动作保持不变。

同样,你可以通过在CSS中使用父/子类关系来做一些很棒的事情,以保持你的行为简单,快速和无风格。

答案 3 :(得分:0)

我认为这是概念分离,是的。