Vanilla JavaScript和DOM的变化

时间:2018-03-20 12:50:16

标签: javascript dom

我不明白为什么我会用JS来改变HTML或CSS。我完全理解为什么我们用它来增强代码的交互。

例如,为什么我会使用" getElementByTagName(" p")"改变我的所有段落,当我在编写HTML时最初可以设置段落?何时/在什么情况下我需要在JS交互之外处理这些节点?或者,我是否只是为了增强交互来解决节点问题?

我只是在寻找干净清晰的答案。

谢谢大家。

1 个答案:

答案 0 :(得分:0)

它的范围很广。

完全按照您的描述构建一个静态的非JavaScript网站是完全合理的。

另一个极端是SPA应用程序,其中整个DOM都是通过javascript构建的;原始HTML页面只是一个空节点,js框架在其中构建并从源数据更新DOM。这样做的一个原因是,可以逐步进行页面更改 - 而不是在从一个页面导航到另一个页面时下载全新的HTML文件,SPA只需要下载新内容,并可以将其插入到现有的"页面"替换旧内容。

介于两者之间的网站具有一定程度的交互性 - 页面的大部分是静态HTML,但有些部分包括基于javascript的交互。听起来你已经掌握了这一部分,所以我不会发现它。

所有这些都有优点和缺点;使用适合您特定网站(和技能组合)的任何内容。

(这部分'更多基于意见,但恕我直言,我们现在处于一个坎布里亚爆炸时期。像React和Angular这样的新框架已经让人们开始重新思考&#34传统"内容分离= HTML,布局= CSS,交互= JS;我们在如何分配这些责任方面看到了各种古怪的实验。用javascript生成你的CSS!用javascript生成你的DOM!在一大堆JSX中将这三个混在一起!在客户端做到这一点!不,服务器!不,两者都是同形的!等我认为这需要几年的时间来解决这个问题进入普遍接受的最佳实践。)