Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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 我想通过JS更改具有相同颜色的文本,而不使用任何类/id等_Javascript - Fatal编程技术网

Javascript 我想通过JS更改具有相同颜色的文本,而不使用任何类/id等

Javascript 我想通过JS更改具有相同颜色的文本,而不使用任何类/id等,javascript,Javascript,我的设计中有很多相同颜色的文本。我想通过单击按钮或php变量来更改它们的颜色。这些文本没有ID。我也找不到它们的类,因为许多不同的类使用相同的颜色 所以,最短的方法就是改变颜色相同的东西来解决我的问题 我怎么能用JS做呢 我想通过点击一个按钮来更改颜色,也可以通过管理面板的php变量来更改颜色。您可以使用everything选择器*搜索页面上的所有元素,然后编写一个条件来检查style.color是否等于目标 let everything=document.querySelectorAll('

我的设计中有很多相同颜色的文本。我想通过单击按钮或php变量来更改它们的颜色。这些文本没有ID。我也找不到它们的类,因为许多不同的类使用相同的颜色

所以,最短的方法就是改变颜色相同的东西来解决我的问题

我怎么能用JS做呢


我想通过点击一个按钮来更改颜色,也可以通过管理面板的php变量来更改颜色。

您可以使用everything选择器
*
搜索页面上的所有元素,然后编写一个条件来检查style.color是否等于目标

let everything=document.querySelectorAll('*');
let button=document.getElementById('button');
addEventListener('click',function(){
forEach(函数(值、索引){
如果(value.style.color=='red'){
console.log(value.textContent)
}
})
})
Lorem
ipsum

某个标题 虚拟文本


单击我
首先,您需要决定哪些元素真正需要更改。您的颜色变化规则是否适用于所有元素只是段落、标签或div

做出决定后,你可以试试这样的方法。我假设您正在尝试对页面上的所有元素进行颜色更改

document.querySelectorAll('*').forEach(函数(节点){
如果(node.style.color==='red')
node.style.color='blue';
});
querySelectorAll
返回与作为第一个参数传递的CSS选择器匹配的所有元素。您可以使用通配符
*
让它返回屏幕上的每个元素

但是,如果您可以缩小规则的范围,并希望它仅应用于
元素,那么您可以按如下方式使用它

document.querySelectorAll('label,p').forEach(函数(节点){
如果(node.style.color==='red')
node.style.color='blue';
});

首先显示您的代码。@djcaesar9114我的问题不需要任何代码。例如,我想将所有红色文本转换为黄色。@Displayname您需要显示您要更改或添加的代码,我们无法修复/解释我们看不到的代码,即使您使用文字解释,请不要使用大写锁定,它不会加速我们的答案。而且,正如前面所问的:在问题中向我们展示你的代码。我只是提醒你规则。如果你的问题很清楚,你就不会有这些评论,你可能已经有了答案。StackOverflow用户在此提供帮助,但请保持冷静。OP提到没有特定的ID或类应用于目标元素。@filipvkovic感谢您的理解。他们谈论ID、类或其他内容。因此,你知道在没有它们的情况下如何选择样式吗?你可以使用*选择器选择所有内容,然后添加一个条件来检查css样式是否设置为特定颜色。。。