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