javascript - HTML/CSS/JS 想给一组对象上色然后重新给其中一个上色?

标签 javascript html css

基本上我有 6 个标签作为按钮。单击它们时,它们会从白色变为蓝色。当您点击另一个标签时,之前的蓝色标签再次变为白色,而当前点击的标签变为蓝色。

目前下面的代码将它们全部设置为白色,但似乎没有将新单击的标签着色为蓝色。但是,如果我注释掉该行:

document.getElementsByTagName('label').style.backgroundColor = '#fff';

然后每个点击的标签变成蓝色,但当我点击一个新标签时它仍然是蓝色的。所以我需要知道的是如何将标签类背景设置为白色,然后将最近单击的标签的背景变为蓝色。

结果应该是每次只有最近点击的标签背景应该是蓝色的,其他的是白色的。

提前致谢

<script = "text\javascript">
        function toggle(label) {
            document.getElementById('one').style.display = 'block';
            document.getElementsByTagName('label').style.backgroundColor = '#fff';
            document.getElementById(label).style.color = 'rgb(54, 95, 145)';
            document.getElementById(label).style.backgroundColor = 'rgb(193,203,225)';
        }

    </script>

    <label id='Label6' class='button' onmousedown = 'toggle("Label6")'>Personal Details</label>
    <label id='Label1' class='button' onmousedown = 'toggle("Label1")'>Education</label>
    <label id='Label2' class='button' onmousedown = 'toggle("Label2")'>Achievements</label>
    <label id='Label3' class='button' onmousedown = 'toggle("Label3")'>Work Experience  </label>
    <label id='Label5' class='button' onmousedown = 'toggle("Label5")'>IT Skills</label>
    <label id='Label4' class='button' onmousedown = 'toggle("Label4")'>Languages</label>

最佳答案

您突出显示的行不正确。这个电话:

document.getElementsByTagName('label');

返回一个元素数组,该数组没有属性style。您需要遍历结果:

var els = document.getElementsByTagName('label');
for (var i=0; i<els.length; i++) {
    els[i].style.backgroundColor = '#fff';
}

或者,使用 jQuery正如 Mahesh 建议的那样。

关于javascript - HTML/CSS/JS 想给一组对象上色然后重新给其中一个上色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319761/

相关文章:

Javascript 图像加载功能挂起我的浏览器

css - 使用 gulp 按类将多个文件 css 合并到一个文件中

html - 忽略 header 的内容

javascript - 限制输入字段不能有相同的输入

html - 将光标移到书签上时,如何防止书签改变样式?

html - 如何使用 CSS 显示具有不同前景的相同图像

javascript - 如何将数组从js传递到 Controller

javascript - 如何将自动完成插件与 vue-ckeditor2 一起使用

javascript - 将 Struts 2 valuestack 变量获取到 JQuery

javascript - 没有 jQuery 的 Vue.js 中带有固定标题的粘性侧边栏