javascript - 为什么 onChange 每个值只工作一次

标签 javascript html

每次加载网页时,onchange 方法都会起作用,但每个值只能起作用一次。当选择夏季时,会添加类(class),当我选择冬季时,会添加类(class),但如果我再次选择夏季,它将不起作用。这是为什么?

 const landingBGR = document.querySelector(".landing-wrapper");
    const landingBTN = document.getElementById("l-btn");

    function selectedSeason(season) {
    
    switch(season) {
        case "summer":
            landingBTN.setAttribute("href","summer.html"); 
            landingBGR.classList.add("summer-bgr");
            break;

        case "winter":
            landingBTN.setAttribute("href","winter.html");
            landingBGR.classList.add("winter-bgr");
            break;
         }
    }
<select name="" id="landing-drop" onchange="oninput(this.value)">
            <option value="">Ireland in the four Seasons</option>
            <option value="summer">Summer</option>
            <option value="winter">Winter</option>
        </select>

最佳答案

当您选择新选项时,尝试删除旧类。

landingBGR.classList.remove("summer-bgr");

landingBGR.classList.remove("winter-bgr");

你可能需要

if(landingBGR.classList.contains("classname"))

关于javascript - 为什么 onChange 每个值只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534049/

相关文章:

javascript - D3 图形布局 - 具有多个父级的树结构

html - 如何将表格与容器顶部对齐?

javascript - TinyMce 格式化问题

javascript - window.open 样式使用 css

Javascript::audio.pause 是否将 audio.currentTime 值重置为 0?

javascript - 如何有条件地将行添加到 Angular 5的表中

javascript - 是否可以确定命名窗口是否在 JavaScript 中打开?

javascript - 将任何类型的 javascript 日期时间变量转换为 moment JS 对象

html - 在图像元素 <img> 中显示 .ico

javascript - 使用 javascript 更改 nav/div 的内容