我刚刚开始学习javascript,并对“正确使用”有疑问。我仍在尝试确定Javascript在网站中的作用,我很好奇是否可以将Javascript修改为网页的HTML。
假设我在网页上有一个面板。这个小组有一份清单。我希望系统会提示用户将项目添加到此列表中。
我当时认为可以使用Javascript生成列表项以添加到列表中。但是,这将修改网页上HTML元素的实际数量......出于某种原因,这似乎只是“hacky”。当我想到HTML时,我想到了一个静态结构,它应该通过CSS和Javascript来实现。
所以我的问题是:让Javascript修改网页的HTML是否可以?将项目添加到列表的情况如何?
谢谢!
答案 0 :(得分:1)
Javascript是一种设计的编程语言,因此它可以修改正在显示的文档(DOM),从不触及实际的HTML。
Javascript在网站上占有一席之地,修改文档/ dom是完全可以接受的,没有它,会使javascript几乎无用。 CSS非常适合某些任务,但是你无法在CSS中做任何事情,尽管CSS5在很多任务中都非常接近。
重写整个DOM是不好的做法,但是使用它来根据动作移动元素的位置,或创建弹出叠加层是完全可以接受的。
记住黄金法则: 尽可能少地修改以实现目标。
答案 1 :(得分:1)
用户对(HTML)文档的体验很重要。 "文件的表示"可以通过使用之类的 javascript语言进行更改,以便操作DOM" - 并且DOM就像是HTML文档的实例,或者"文档会话"如果你愿意的话。
所以在某种程度上,不,HTML被触及了。它是由javascript正面处理 - 间接和非持久的方式。但如果你想变得迂腐......我们说它不是,并且让一半的读者感到困惑。
何时使用javascript以及何时不使用。它的秋千和环形交叉路口。当一个特定工具适合这种情况时,您需要学习(主要来自经验)。它通常归结为一些核心考虑因素:
我忽略了提及服务器端处理的明显免责声明,所有应该在隐私中完成的处理都是在服务器上完成的(例如使用PHP或Ruby等编程语言)。
有时候,你可以在两者之间找到灰色区域。在那些情况下,你可能会问自己一个像......这样的问题,如果客户端(用户的计算机)处理它,或者服务器......以及经验进入的话,它会更快地处理。
答案 2 :(得分:0)
这取决于案例来决定你是应该直接操纵DOM还是让JS去做。
如果你有一个静态的html页面,那就做你的html和手工制作 DOM。 JS没有必要在这里得到帮助。
如果您有一个半静态html页面,其中用户操作会发生变化 它的一部分 - 然后让JS做更改部分。
如果你有一个高度动态的html页面(比如单页应用程序) - 你 应该让JS主要渲染HTML。
在这个充满JS演变的时代,使用普通JS并不是最适合你的。学习它 - 但也学会使用良好的库和框架,可以很快地带你到赛道。
答案 3 :(得分:0)
短片段:Javascript可能会修改浏览器中的DOM内容,但绝不会更改从Web服务器提供的原始HTML。
没有javascript,现代网络是不可想象的。 JS允许静态HTML交互并改进用户体验(UX)。任何锋利的工具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?
答案是:它取决于。