我如何用JavaScript以外的语言操纵DOM



所以我一直想知道如何用JavaScript和PHP来操纵DOM。我始终可以在一个HTML文件中使用JavaScript和PHP与其他HTML和CSS代码。

同样,在JavaScript中,有多种方法,例如document.getElemenyById()等。在PHP中,基本上是一个超文本预处理器,因此它会自动通过服务器呈现HTML,可以再次用于DOM操作。

其他语言呢?我们可以使用它们来构建网络吗?或具体来说,做诸如HTML和CSS操纵之类的事情。例如,假设Python或C#。我该如何使用JS和PHP?

与DOM有两个阶段。第一阶段是服务器渲染。当PHP引擎接收模板(HTML,PHP的混合(加数据并输出有效的HTML到浏览器。在此阶段,您可以构建 html ,它将被浏览器解析为DOM树。您不使用DOM,而是使用模板的纯文本。

第二阶段是JavaScript评估。浏览器解析并运行JS,此JS可以访问DOM树。

第一阶段可以用在服务器上运行的任何语言完成。您可以使用C#模板,Python模板,GO模板,甚至JavaScript。所有模板引擎都只需执行模板(文本(和数据,并给出可以有效HTML的文本输出。

第二阶段仅适用于JS,因为浏览器仅与JS一起使用。有一些尝试将其他语言带到前端(例如DART(,并且都失败了。但是您有一些选择。现有语言的编译器很多可以针对JS。例如,clojruescript for clojure,ocaml的扣,gopherjs for Go等。此外,还有许多为此目的创建的语言(编译为JS(:PURESCRIPT,ELM,Typescript等。现代浏览器可以使用WebAssembly二进制软件包。它与JS不同,但也无法访问DOM。

您在这里提出的真正问题是:

我们是否可以使用C#或Python之类的语言进行DOM操作?

简单地说,答案是否定的。但是,如果您使用任何类型的解析器,您会感觉到自己正在像html这样的python做某事,但是在浏览器上再次将是html。相反,我会说...标记语言(前端语言(和服务器端语言之间存在很大的区别。

HTML用作标记,以在网页上显示一些内容。您可以使用一些模板,但最终仅将其汇编为HTML。现在出现了JS的角色,无论在网页上创建了什么元素,JavaScript都有能力对其进行操作/操作。这称为DOM操纵,只有通过某些前端语言才有可能。目前,我们只根据我的知识(如果我错了,请纠正我(

现在是C#,Python或PHP的角色。这些语言用于后端工作。您要从前端发送的任何内容,都将在后端进行处理,并且这些语言用于这些目的,因此,通过C#操纵DOM是一个很大的否。您需要JavaScript(jQuery或其他库(。

谢谢希望它有帮助。

最新更新