gpt4 book ai didi

javascript - 更改
  • 元素的背景
  • 转载 作者:行者123 更新时间:2023-12-03 00:15:21 26 4
    gpt4 key购买 nike

    我是 JavaScript 新手。我想在单击时将

  • 元素的背景从白色更改为红色。单击另一个
  • 元素后,想要将此元素转换为红色并将其余元素更改为白色。我成功了,但最后
  • 没有受到影响。

    function func(li) {
    var x = document.querySelectorAll("li");
    var i;
    for (i = 0; i < x.length; i++) {
    if (x[i].style.backgroundColor == "red") {
    x[i].style.backgroundColor = "white";
    console.log('W');
    } else {
    li.style.backgroundColor = "red";
    console.log('W');
    }
    }
    }
    <ul>
    <li class="reng" onclick="func(this)">birinci</li>
    <li class="reng" onclick="func(this)">ikinci</li>
    <li class="reng" onclick="func(this)">ucuncu</li>
    <li class="reng" onclick="func(this)">dorduncu</li>
    </ul>

  • 最佳答案

    试试这个版本

    1. 使用事件监听器
    2. 监听 UL 上的任何点击,而不是每个 LI
    3. 不引人注目(不使用内联事件处理程序)

    window.addEventListener("load", function() { // on page load
    document.querySelector("ul").addEventListener("click",function(e) { // click the UL
    var clickedObject = e.target;
    if (clickedObject.tagName == "LI") { // was it an LI
    document.querySelectorAll(".reng").forEach(function(li) { // reset all
    li.style.backgroundColor = "white";
    });
    clickedObject.style.backgroundColor = "red"; // color the clicked LI
    }
    })
    })
    <ul>
    <li class="reng">birinci</li>
    <li class="reng">ikinci</li>
    <li class="reng">ucuncu</li>
    <li class="reng">dorduncu</li>
    </ul>

    如果您想切换单击的 LI:

    window.addEventListener("load", function() { // on page load
    document.querySelector("ul").addEventListener("click",function(e) { // click the UL
    var clickedObject = e.target;
    if (clickedObject.tagName == "LI") { // was it an LI
    var col = clickedObject.style.backgroundColor;
    document.querySelectorAll(".reng").forEach(function(li) { // reset all
    li.style.backgroundColor = "white";
    });
    clickedObject.style.backgroundColor = col == "red" ? "white" : "red"; // toggle the clicked LI
    }
    })
    })
    <ul>
    <li class="reng">birinci</li>
    <li class="reng">ikinci</li>
    <li class="reng">ucuncu</li>
    <li class="reng">dorduncu</li>
    </ul>

    关于javascript - 更改 <li> 元素的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54548214/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com