如何使用 pyscript 执行 DOM 操作

Spo*_*pok 1 dom pyscript

我知道 pyscript 可以用作客户端脚本语言。有没有一种方法可以使用 CSS 选择器与 DOM 进行交互,类似于在 JavaScript 中可以执行的操作。

就像是 :

nav_bar = get_element(".nav-bar")
Run Code Online (Sandbox Code Playgroud)

Joh*_*ley 5

是的,您可以调用 JavaScript 函数并从 Python 访问全局变量。导入js命名空间:

import js
Run Code Online (Sandbox Code Playgroud)

或者

from js import document
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样调用函数:

<body>
  <div id="msg">Loading page ...</div>

  <py-script>
from js import document

msg = document.getElementById("msg")
msg.innerHTML = 'Hello world'
  </pyscript>
</body>
Run Code Online (Sandbox Code Playgroud)

该函数get_element()不是标准 JavaScript 函数。它是 Telerik 等库中的一个函数。通常,您可以从 Python 调用这些函数,前提是它们没有对命名空间执行特殊操作,并且库在 PyScript 之前加载。您可以使用 Python 中的普通 JavaScript 函数来设置 CSS 样式,例如:

document.getElementById("msg").style.color = "blue"
Run Code Online (Sandbox Code Playgroud)