javascript - 在 JavaScript 中仅使用一个按钮保留不同的标题

标签 javascript dry

所以我刚刚开始熟悉 DOM 和 JavaScript。我正在玩这个小代码,其中包含 html 中的所有标题、段落,只需单击一个按钮,JavaScript 就会将所有文本更改为相同的颜色。但我找不到任何方法不重复自己。如果有什么聪明的方法,你们能帮我吗?甚至循环什么的? 感谢您的帮助!

<div id="main_content">
<h1 id="heading_1">Hello World</h1>
<h2 id="heading_2">Hello World</h2>
<h3 id="heading_3">Hello World</h3>
<h4 id="heading_4">Hello World</h4>
<h5 id="heading_5">Hello World</h5>
<h6 id="heading_6">Hello World</h6>
<p id="paragraph">Lorem ipsum ipsum and ipsum and some ipsum</p>
</div>
</div>
<input type="text" id="value_color">
<button id="myButton">Check the font color!</button>

var heading_1 = document.getElementById("heading_1");
var button = document.getElementById("myButton");
var value_color = document.getElementById("value_color");

button.addEventListener('click', () =>{
heading_1.style.color = value_color.value;
heading_2.style.color = value_color.value;
heading_3.style.color = value_color.value;
heading_4.style.color = value_color.value;
heading_5.style.color = value_color.value;
heading_6.style.color = value_color.value;
});

最佳答案

您可能希望使用类而不是 ID 来选择 header 。

var headers = document.getElementsByClassName("chameleon-header");
for (i = 0; i < headers.length; i++) {
  headers[i].style.color = value_color.value;
}

<h1 id="heading_1" class="chameleon-header">Hello World</h1>
<h2 id="heading_2" class="chameleon-header">Hello World</h2>

关于javascript - 在 JavaScript 中仅使用一个按钮保留不同的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879201/

相关文章:

javascript - 如果选中了 2 个特定的复选框,则显示一个 div,如果选中了 1 个复选框,则显示另一个(如果选中了 2 个复选框,则不显示它)

javascript - 带有一个回调的多个循环 ajax 请求

javascript - Onchange 下拉选择

javascript - 带有预览的不寻常的响应式拆分 slider

c++ - 如何将 DRY 原则应用于 C++ 中的迭代器? (迭代器、const_iterator、reverse_iterator、const_reverse_iterator)

iphone - 使用 UITableViewController 时如何尽量减少重复自己

java - Java 中按名称动态调用函数的最惯用方法是什么?

javascript - 如何包含基于条件的参数(在 CoffeeScript/JavaScript 中)?

c# - 缩小图像质量损失

javascript - 检查列表是否包含值javascript