Javascript 功能不工作,与输入连接

Javascript 功能不工作,与输入连接,javascript,Javascript,我什么都试过了。我不知道该怎么办。它不起作用 function load() { if(acc == "a") var d = document.getElementById('sn'); d.style.display='block'; var b = document.getElementById('neas'); b.style.display='none'; if(acc == "n") var d = document.getElementById('sn');

我什么都试过了。我不知道该怎么办。它不起作用

function load() {
if(acc == "a")
var d = document.getElementById('sn');
    d.style.display='block';
var b = document.getElementById('neas');
    b.style.display='none'; 
if(acc == "n")
var d = document.getElementById('sn');
    d.style.display='none';
var b = document.getElementById('neas');
    b.style.display='block'; }
我的头:

<script language="JavaScript">
day = new Date(); 
hour = day.getHours();
if (hour>=3 && hour<2)
    acc = "a";
        else { acc = "n";  } 
</script>
<script language="JavaScript">
function load() {
    var d = document.getElementById('sn');
    var b = document.getElementById('neas');
    if(acc == "a") {
        d.style.display='block';
        b.style.display='none'; 
    } else if(acc == "n") {
        d.style.display='none';
        b.style.display='block';
    }
}
</script>

日期=新日期();
小时=天。getHours();
如果(小时>=3&&hour更换
if(acc=“a”)

if(acc==“a”)

=是赋值运算符

其中as
==
是比较运算符

   function load() {
     var d = document.getElementById('sn');
    var b = document.getElementById('neas');

    if (acc = "a") {

        d.style.display = 'block';    
        b.style.display = 'none';
    }

    if (acc = "n") {    
        d.style.display = 'none';        
        b.style.display = 'block';
    }
}

通过缩进可以看到第一个问题:缺少一些块分隔符

function load() {
    var d = document.getElementById('sn');
    var b = document.getElementById('neas');
    if (acc == "a") {
        d.style.display='block';
        b.style.display='none'; 
    } else if (acc == "n") {
        d.style.display='none';
        b.style.display='block';
    }
}
正如PSR所看到的,您还使用了=而不是==


我还更改了您的代码以重用元素声明(尽量保持干燥)和
,如果
让JS引擎避免了无用的测试。

您有一些语法错误。您似乎缺少一些花括号,比较运算符也应该是
=
而不是
=
。请尝试:

function load() {

    if (acc == "a") {
        var d = document.getElementById('sn');
        d.style.display = 'block';
        var b = document.getElementById('neas');
        b.style.display = 'none';
    }

    if (acc == "n") {
        var d = document.getElementById('sn');
        d.style.display = 'none';
        var b = document.getElementById('neas');
        b.style.display = 'block';
    }

}
编辑:

此外,您的逻辑中似乎存在差距。acc的值从何处获得?此外,您可以将对象
d
b
设置一次,然后在if语句中更改其显示属性,如下所示:

function load() {

    var d = document.getElementById('sn');
    var b = document.getElementById('neas');

    if (acc = "a") {            
        d.style.display = 'block';            
        b.style.display = 'none';
    }    
    if (acc = "n") {    
        d.style.display = 'none';        
        b.style.display = 'block';
    }

}

确保在
{}
中包含
子句。在比较时,请使用
=
而不是
=
=
是赋值运算符,因此不会传递
if
子句

 function load() {
    var d = document.getElementById('sn');
    var b = document.getElementById('neas');

    if(acc == "a"){
      d.style.display='block';
      b.style.display='none'; 
    }

    else if(acc == "n"){          
      d.style.display='none';          
      b.style.display='block';
   } 
};

它应该做什么?如果你能提供额外的标记,这样我们就可以看到你在做什么。不工作意味着什么?acc来自何处?@user2451963请解释清楚。
acc=“a”
dystroy:)aaahaa编辑:):)
 function load() {
    var d = document.getElementById('sn');
    var b = document.getElementById('neas');

    if(acc == "a"){
      d.style.display='block';
      b.style.display='none'; 
    }

    else if(acc == "n"){          
      d.style.display='none';          
      b.style.display='block';
   } 
};