【问题标题】:Remove ID from Dom if empty in Oxygen Builder如果在 Oxygen Builder 中为空,则从 Dom 中删除 ID
【发布时间】:2023-01-24 17:29:43
【问题描述】:

这是一个开发问题,非常感谢任何帮助。开始...

我知道可以使用此 js 输入删除 Oxygen 中的所有 ID;

jQuery('body:not(.oxygen-builder-body) *').removeAttr('id');

但是是否可以更改此设置,以便删除除所有带有前缀的 ID 之外的所有 ID,例如:id="prefix-idname"。

下面的氧气生成器中的示例 id。我可以删除这个,但结果是 ID 仍然在 Dom 中。见下文。

正如您在下面的源代码中看到的,ID 是空的,但前缀仍然存在于 Dom 中。我希望将其删除,只保留课程。

最终输出将是:<section class="ct-section-slider"...</section>。.

这个过程也需要受到尊重。因此,如果该 ID 在 Oxygen Builders id 字段中以 prefix-idname 开头,则该 ID 不会被删除。这需要应用于可能位于主 div 下的所有嵌套 div。

最终输出将是:<section id="section-2-5" class="ct-section-slider"...</section>。.

我为什么要这个?我只想要一个干净的 HTML 源代码,因为通常我们会得到空 ID,并且不会在 Oxygen Builder 中使用它们。

提前致谢。

【问题讨论】:

    标签: jquery wordpress


    【解决方案1】:

    有两种方法可以解决这个问题。

    1. 我使用 javascript 查找空 ID 并将其删除。如果您想手动“清理”构建器中的所有 ID,请使用以下命令:

      一种。我选择带有 id 的元素

      b.使用 forEach 循环检查每个元素是否具有空 ID 属性。如果为空,则使用 removeAttribute 函数将其删除。

          const elements = document.querySelectorAll("[id]");
      
          elements.forEach(el => {
            if (el.getAttribute("id") === "") {
              el.removeAttribute("id");
            }
          });
      
      1. 如果您只想从具有特定类的元素中删除“id”属性,例如'removeId',使用更具体的 CSS 选择器

       const elements = document.querySelectorAll(".removeId[id]");
          
          elements.forEach(el => {
              el.removeAttribute("id");
          });

      希望这有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多