Javascript是否应该用于修改HTML?

时间:2016-06-18 01:59:55

标签: javascript html

我刚刚开始学习javascript,并对“正确使用”有疑问。我仍在尝试确定Javascript在网站中的作用,我很好奇是否可以将Javascript修改为网页的HTML。

假设我在网页上有一个面板。这个小组有一份清单。我希望系统会提示用户将项目添加到此列表中。

我当时认为可以使用Javascript生成列表项以添加到列表中。但是,这将修改网页上HTML元素的实际数量......出于某种原因,这似乎只是“hacky”。当我想到HTML时,我想到了一个静态结构,它应该通过CSS和Javascript来实现。

所以我的问题是:让Javascript修改网页的HTML是否可以?将项目添加到列表的情况如何?

谢谢!

4 个答案:

答案 0 :(得分:1)

Javascript是一种设计的编程语言,因此它可以修改正在显示的文档(DOM),从不触及实际的HTML。

Javascript在网站上占有一席之地,修改文档/ dom是完全可以接受的,没有它,会使javascript几乎无用。 CSS非常适合某些任务,但是你无法在CSS中做任何事情,尽管CSS5在很多任务中都非常接近。

重写整个DOM是不好的做法,但是使用它来根据动作移动元素的位置,或创建弹出叠加层是完全可以接受的。

记住黄金法则: 尽可能少地修改以实现目标。

答案 1 :(得分:1)

用户对(HTML)文档的体验很重要。 "文件的表示"可以通过使用之类的 javascript语言进行更改,以便操作DOM" - 并且DOM就像是HTML文档的实例,或者"文档会话"如果你愿意的话。

所以在某种程度上,不,HTML被触及了。它是由javascript正面处理 - 间接和非持久的方式。但如果你想变得迂腐......我们说它不是,并且让一半的读者感到困惑。

何时使用javascript以及何时不使用。它的秋千和环形交叉路口。当一个特定工具适合这种情况时,您需要学习(主要来自经验)。它通常归结为一些核心考虑因素:

  1. HTML用于标记。结构体。含义。
  2. CSS代表风格,感觉,外观。
  3. Javascript适用于上述情况均无效的情况。
  4. 我忽略了提及服务器端处理的明显免责声明,所有应该在隐私中完成的处理都是在服务器上完成的(例如使用PHP或Ruby等编程语言)。

    有时候,你可以在两者之间找到灰色区域。在那些情况下,你可能会问自己一个像......这样的问题,如果客户端(用户的计算机)处理它,或者服务器......以及经验进入的话,它会更快地处理。

答案 2 :(得分:0)

这取决于案例来决定你是应该直接操纵DOM还是让JS去做。

  • 如果你有一个静态的html页面,那就做你的html和手工制作 DOM。 JS没有必要在这里得到帮助。

  • 如果您有一个半静态html页面,其中用户操作会发生变化 它的一部分 - 然后让JS做更改部分。

  • 如果你有一个高度动态的html页面(比如单页应用程序) - 你 应该让JS主要渲染HTML。

在这个充满JS演变的时代,使用普通JS并不是最适合你的。学习它 - 但也学会使用良好的库和框​​架,可以很快地带你到赛道。

我建议你学习JqueryAngular 2,这会让你感觉像是在学习一套超级JS。

答案 3 :(得分:0)

短片段:Javascript可能会修改浏览器中的DOM内容,但绝不会更改从Web服务器提供的原始HTML。
没有javascript,现代网络是不可想象的。 JS允许静态HTML交互并改进用户体验(UX)。任何锋利的工具JS都可以从几乎死的页面中产生杰作,并将喉咙切成一个盛开的静态内容 一切都取决于开发人员。

使用JS

不要使用JS向页面提供绿色内容。网络机器人(爬虫)不会运行JS,而你发出的信息“我来到这个世界来证明真相”可能会出现“从沙漠中哭出来的声音”,并且没有索引,因此未读。

当JS必须

每当您的页面访问者执行某些操作时,页面应该采取适当的操作(使用JS或者,如果可能,只使用CSS)。 当潜在客户填写表格时,这一点尤为重要。 错误是人类所以开发者通过 JS应该帮助访问者做出错误的事情。在许多情况下,可以在不请求服务器的情况下进行,在更多情况下,答案应该来自服务器。在这种情况下,JS是你最好的朋友 Javascript永远不会独自生活。浏览器对象是它值得信赖的盟友。大多数现代浏览器支持XMLHttpObject A.K.A AJAX(您可能记得古希腊历史中的这个名称),它与服务器通信而无需重新加载页面。
代表Asynchronous Javascript And Xml的AJAX的想法是发送请求并从服务器asynchronously接收响应而不阻止浏览器中的页面。
对于许多初学者来说,原生javascript可能很难理解。为了使事情变得更容易,有许多以jQuery知道的JS库。

回到OP的问题,Javascript是否应该用于修改HTML?
答案是:它取决于。