wordpress 如果氧气生成器中为空,则从Dom中删除ID

hrysbysz  于 2023-01-25  发布在  WordPress
关注(0)|答案(1)|浏览(107)

这是一个发展问题,任何帮助都是非常感谢的。
我知道用这个js输入可以删除Oxygen中的所有ID;

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

但是,是否可以更改此设置,以便删除所有ID,但带有前缀的所有ID除外,例如:ID=“前缀ID名称”。
下面是氧气生成器中的ID示例。我可以删除此ID,但结果是ID仍然在Dom中。请参见下面。

正如您在下面的源代码中所看到的,ID为空,但Dom中的前缀仍然存在。我希望删除此前缀,仅保留类。

最后的产出将是:〈截面class=“ct-section-slider”.....
这个过程也需要反向。所以如果ID在Oxygen Builders id字段中以前缀idname开头,则ID不会被删除。这需要应用于可能在主div下的所有嵌套div。
最后的产出将是:〈截面ID=“截面-2 -5”类=“ct截面滑块”......
为什么我需要这个?我只需要一个干净的HTML源代码,因为通常我们会得到空的ID,而不会在氧气生成器中使用它们。
先谢了。

2sbarzqh

2sbarzqh1#

有两种方法可以解决这个问题。
1.我使用JavaScript来查找空的id并删除它们。如果你想手动“清理”构建器中的所有id,请使用以下命令:
a.我选择具有ID的元素
B.使用forEach循环来检查每个元素是否具有空ID属性。如果它是空的,则使用removeAttribute函数来移除它。

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

1.如果您只想从具有特定类的元素(例如removeId)中移除“id”属性,请使用更具体的CSS选择器

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

希望这能有所帮助:)

相关问题