方法 - htmx.process()

htmx.process(element) 是 HTMX 的一个公开 API 方法,用于手动处理(激活)某个新插入的 DOM 元素及其子元素,使其内部的 HTMX 属性(如 hx-get、hx-post 等)生效。

当你通过 JavaScript 动态插入 DOM 元素时,如果这些元素中包含 hx-* 属性,HTMX 默认不会自动处理它们。你需要手动调用:htmx.process(elt) 来处理。

参数

  • elt - 要处理的元素

示例

<div id="container"></div>

<script>
  const btn = document.createElement("button");
  btn.setAttribute("hx-get", "/hello");
  btn.setAttribute("hx-target", "#container");
  btn.textContent = "点击请求";

  document.getElementById("container").appendChild(btn);

  // 手动激活 HTMX 处理
  htmx.process(btn);
</script>

也可以用在使用原生 JavaScript 、Vue、React 等混合编程时,使用非 htmx 的方法从服务端获取到带 htmx 属性的 html 代码片段时,需要使用 htmx.process() 函数来激活该代码片段中的 htmx 属性。

注意事项

如果遇到 htmx 失效的情况时,重点检查失效的 htmx 代码是否为动态返回且是由非 htmx 发起的请求,如果是,则使用 htmx.process() 即可解决问题。