Javascript JS功能更改按钮上的文本单击仅适用于桌面

Javascript JS功能更改按钮上的文本单击仅适用于桌面,javascript,html,css,Javascript,Html,Css,我设置了一个功能,当点击一个标有“夜晚”的按钮时,黑暗模式被激活,按钮文本变为“白天”。这在我的桌面导航中运行良好,但由于某些原因,它在我的移动导航中不起作用。您可以在此处查看该网站,了解我的意思: HTML 根据规则,每个节点的id都应该是唯一的,因此您可以给它们一个公共类来实现结果,而不是给两个按钮id 森林 海洋 天空 山 关于 森林 海洋 天空 山 关于 在你的js代码中 /*日间/夜间按钮文本*/ 函数更改(){ var elems=document.queryselectoral

我设置了一个功能,当点击一个标有“夜晚”的按钮时,黑暗模式被激活,按钮文本变为“白天”。这在我的桌面导航中运行良好,但由于某些原因,它在我的移动导航中不起作用。您可以在此处查看该网站,了解我的意思:

HTML


根据规则,每个节点的id都应该是唯一的,因此您可以给它们一个公共类来实现结果,而不是给两个按钮id


森林
海洋
天空
山
关于
森林
海洋
天空
山
关于
在你的js代码中

/*日间/夜间按钮文本*/
函数更改(){
var elems=document.queryselectoral(“.dark btn”);
元素forEach(元素=>{
如果(elem.value==“夜晚”)elem.value=“白天”;
else elem.value=“夜晚”;
})
}
或者,如果您不关心规则,并且仍然希望它们具有相同的id,那么您仍然可以通过此js代码获得预期的行为

函数更改(){
var elems=document.queryselectoral(“#暗btn”);
元素forEach(元素=>{
如果(elem.value==“夜晚”)elem.value=“白天”;
else elem.value=“夜晚”;
})
}

根据规则,每个节点的id都应该是唯一的,因此,您可以给它们一个公共类,而不是给两个按钮id,从而获得结果


森林
海洋
天空
山
关于
森林
海洋
天空
山
关于
在你的js代码中

/*日间/夜间按钮文本*/
函数更改(){
var elems=document.queryselectoral(“.dark btn”);
元素forEach(元素=>{
如果(elem.value==“夜晚”)elem.value=“白天”;
else elem.value=“夜晚”;
})
}
或者,如果您不关心规则,并且仍然希望它们具有相同的id,那么您仍然可以通过此js代码获得预期的行为

函数更改(){
var elems=document.queryselectoral(“#暗btn”);
元素forEach(元素=>{
如果(elem.value==“夜晚”)elem.value=“白天”;
else elem.value=“夜晚”;
})
}

ID在文档中必须是唯一的
getElementById()
将只选择文档中具有该ID的第一个元素。使用类和
.getElementsByCassName()
谢谢Turnip。非常感谢。对JS和代码来说还是很新的!ID在文档中必须是唯一的
getElementById()
将只选择文档中具有该ID的第一个元素。使用类和
.getElementsByCassName()
谢谢Turnip。非常感谢。对JS和代码来说还是很新的!很高兴我能帮忙,坚持下去。很高兴我能帮忙,坚持下去。
<!-- Navigation -->
    <nav class="sidenav">
        <div id="nav" class='container'>
            <a class='menu-button' id='menu-f'>The Forest</a>
            <a class='menu-button' id='menu-o'>The Ocean</a>
            <a class='menu-button' id='menu-s'>The Sky</a>
            <a class='menu-button' id='menu-m'>The Mountain</a>
            <input type="button" value="The Night" id="dark-btn" class="dark-mode" onclick="myFunction(); change();" />
            <a class='menu-button' id='menu-a'>About</a>
        </div>
    </nav>

<!-- Navigation Mobile -->
        <div id="mobilenav" class="overlay">
            <div class="overlay-content">
                <a class='mob-menu-button' id='mob-menu-f'>The Forest</a>
                <a class='mob-menu-button' id='mob-menu-o'>The Ocean</a>
                <a class='mob-menu-button' id='mob-menu-s'>The Sky</a>
                <a class='mob-menu-button' id='mob-menu-m'>The Mountain</a>
                <input type="button" value="The Night" id="dark-btn" class="dark-mode" onclick="myFunction(); change();" />
                <a class='mob-menu-button' id='mob-menu-a'>About</a>
            </div>
        </div>
/* Day/Night Mode */

  function myFunction() {
  var element = document.body;
  element.classList.toggle("dark-mode");
}

/* Day/Night Button Text */

  function change() {
    var elem = document.getElementById("dark-btn");
    if (elem.value=="The Night") elem.value = "The Day";
    else elem.value = "The Night";
}