单击可展开的切换菜单时更改多个元素的颜色

Change multiple element color on click on an expandable toggle menu

提问人:Michele 提问时间:10/29/2023 更新时间:10/29/2023 访问量:56

问:

我需要一个 Javascript 函数,当我单击左上角的下拉菜单时,它允许我更改我正在开发的网站标题的某些元素的颜色。该网站是用 Wordpress 制作的,并使用 Elementor Pro。有三个元素应该改变颜色:中央徽标、右上角的两个按钮和整个标题的背景,以便它作为下拉菜单的背景是白色的。对于文本和边框,这两个按钮应成为以下颜色,#2E324D;而徽标应动态替换为已加载到网站媒体库中的蓝色变体(src:http:///prova.lamaielletta.it/wp-content/uploads/2023/10/Logo-Blu.png)。标题背景与预期的白色一样。我附上参考图像以获得最终结果。这里是网站页面的链接:https://prova.lamaielletta.it/

关闭菜单 已打开菜单

由于没有 Javascript 经验,我尝试独立编写第一个函数,该函数至少在单击下拉菜单按钮时更改了标题的背景颜色,使其成为菜单本身的背景白色。在编写的函数下方,使用类选择器来标识菜单按钮,为此我添加了一个单击函数,因此标题的背景颜色必须更改。

<script>
const menu = document.getElementByClassName('elementor-menu-toggle');

menu.addEventListener('click', function onClick(event) {
  const header = document.getElementByClassName('elementor-element elementor-element-a58d576 e-con-full e-flex e-con e-parent');

  header.style.backgroundColor = 'white';

});
</script>

为了将其插入正文,我使用了 WPCode 插件。但它没有用。我被困在这一点上

JavaScript WordPress 函数 Elementor ToggleButton

评论

0赞 Roko C. Buljan 10/29/2023
getElementByClassName应该是复数! 和 es expected 它将返回一个元素列表,而不仅仅是一个。迭代它们是你的工作。如果您只需要一个元素,您可能想要使用等。getElementsByClassNamedocument.querySelector(".elementor-menu-toggle").addEventListener(

答:

2赞 AmirHossein_Khakshori 10/29/2023 #1

document.getElementsByClassName(x)为您提供具有 X 类的所有元素,换句话说,它返回一个集合

所以你应该像这样使用它,如果你想对所有元素做一些事情(改变样式),你应该使用 for-loopmenu[0].addEventListener