Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列表文本不会通过Javascript按钮更改颜色_Javascript - Fatal编程技术网

列表文本不会通过Javascript按钮更改颜色

列表文本不会通过Javascript按钮更改颜色,javascript,Javascript,所以,这是我的第一篇文章,这是我的问题,但首先,让我说,我从这里尝试了2-3个解决方案,但它们就是不起作用。。。我觉得有些东西不合适,但我不知道是什么 我有一个小列表,我想改变颜色,如果我按下一个按钮。 我只有在使用内联onclick函数时才能让它工作!但只有一个文本 我想在单击按钮时将“Sonnenfarben”列表(rot、orange、gelb)的颜色更改为黑色 这是我的密码 document.getElementById(按钮).onclick=click(); 函数click(){

所以,这是我的第一篇文章,这是我的问题,但首先,让我说,我从这里尝试了2-3个解决方案,但它们就是不起作用。。。我觉得有些东西不合适,但我不知道是什么

我有一个小列表,我想改变颜色,如果我按下一个按钮。 我只有在使用内联onclick函数时才能让它工作!但只有一个文本

我想在单击按钮时将“Sonnenfarben”列表(rot、orange、gelb)的颜色更改为黑色

这是我的密码

document.getElementById(按钮).onclick=click();
函数click(){
document.getElementById('one').style.color='black'
}
夜间模式
法尔本
  • 布劳
  • 粉红的 索内法本
      腐烂 橙色
    • gelb
  • 布朗
  • 格劳

  • 您的JS应该是这样的。这将迭代所有li元素

    document.getElementById(button).onclick = click();
      
    function click()  {   
      var list = document.querySelector(".unordered-colors");
      list.querySelectorAll("li").forEach(function(item) {
         item.style.color = "black";
      });
    }
    

    你的JS应该是这样的。这将迭代所有li元素

    document.getElementById(button).onclick = click();
      
    function click()  {   
      var list = document.querySelector(".unordered-colors");
      list.querySelectorAll("li").forEach(function(item) {
         item.style.color = "black";
      });
    }
    

    建议您从使用IDE开始,该IDE突出显示语法错误并警告潜在错误。如果你是学生,JetBrains会让你免费使用他们的软件。如果不是(或在任何情况下),Microsoft Visual Studio代码可能是一个不错的选择

    我这么说是因为我一开始就注意到IDE会为您标记的错误。您可能会被警告,您已将一个名为“button”的未定义变量传递到第一次使用的getElementByID()中,而不是与元素匹配的字符串“button”。您还有一个未终止的行(没有损害任何东西,但不一致)

    另外,尽管在技术上符合规范,但由于行尾项标记放错了位置,您的代码显然没有达到预期的效果


    由于问题经常从一个问题层叠到另一个问题,在试图找出算法的错误之前,您应该始终确保您的基本语法是正确的。IDE在这方面会有很大的帮助。

    建议您从使用IDE开始,该IDE会突出显示语法错误并警告潜在错误。如果你是学生,JetBrains会让你免费使用他们的软件。如果不是(或在任何情况下),Microsoft Visual Studio代码可能是一个不错的选择

    我这么说是因为我一开始就注意到IDE会为您标记的错误。您可能会被警告,您已将一个名为“button”的未定义变量传递到第一次使用的getElementByID()中,而不是与元素匹配的字符串“button”。您还有一个未终止的行(没有损害任何东西,但不一致)

    另外,尽管在技术上符合规范,但由于行尾项标记放错了位置,您的代码显然没有达到预期的效果


    由于问题经常从一个问题层叠到另一个问题,在试图找出算法的错误之前,您应该始终确保您的基本语法是正确的。IDE在这方面会有很大帮助。

    您的内联onclick很好。虽然它正在将颜色从默认(黑色)更改为黑色,但它的工作原理与预期一致,这使它看起来好像什么都没有发生。你的JS很好,但是你的
    getElementById(button)
    应该是
    getElementById(“button”)
    ,而且它会将其从默认(黑色)更改为黑色。如果你想通过暗模式更改多个元素的样式,我肯定会建议对类执行此操作,而不是试图直接更新每个元素的样式。这可以作为整个body上的单个类
    body.darkmode
    ,为下面的每个元素更新相关CSS,或者通过将
    .darkmode
    应用于需要更新的每个元素,并使用CSS中的相关规则。我推荐前者。对不起,忘了说我想改的文字是红色、橙色和黄色的,我想改成黑色。但是我只能把红色的改成黑色,即使我用“getbyClassName”也行。您的
  • 元素没有类。它们只定义了ID,因此它们不能被
    getElementsByClassName
    内联onclick作为目标。虽然它正在将颜色从默认(黑色)更改为黑色,但它的工作原理与预期一致,这使它看起来好像什么都没有发生。你的JS很好,但是你的
    getElementById(button)
    应该是
    getElementById(“button”)
    ,而且它会将其从默认(黑色)更改为黑色。如果你想通过暗模式更改多个元素的样式,我肯定会建议对类执行此操作,而不是试图直接更新每个元素的样式。这可以作为整个body上的单个类
    body.darkmode
    ,为下面的每个元素更新相关CSS,或者通过将
    .darkmode
    应用于需要更新的每个元素,并使用CSS中的相关规则。我推荐前者。对不起,忘了说我想改的文字是红色、橙色和黄色的,我想改成黑色。但是我只能把红色的改成黑色,即使我用“getbyClassName”也行。您的
  • 元素没有类。它们只定义了ID,所以它们不能被
    getElementsByClassName
    ok作为目标,所以这个方法很有效!非常感谢。所有的列表都是黑色的,我唯一要解决的问题是,文本会立即更改,而无需单击按钮。我建议您将onclick等同于函数。比如:
    document.getElementById(button).onclick=function(){var list……}
    ok,这样就可以了!非常感谢。所有的列表都是黑色的,我唯一要解决的问题是,文本会立即更改,而无需单击按钮