为啥我的 Javascript 不起作用?

Posted

技术标签:

【中文标题】为啥我的 Javascript 不起作用?【英文标题】:Why is my Javascript not working?为什么我的 Javascript 不起作用? 【发布时间】:2012-01-07 14:37:09 【问题描述】:

这是我的 javascript

<script type="text/javascript">
    function contactChange() 
        var contact = document.getElementbyId("contact");
        if (contact.style.display == "none")           
            contact.style.display = "block";
         else 
            contact.style.display = "none";
        
    
</script>

这是我的网站:

http://www.andrewjalexander.com/

【问题讨论】:

“不工作”是什么意思?错误?代码没有被执行?什么叫contactChange()方法?。 另外,如果你使用 jquery,这整件事就是$('#contact').toggle() 如果你不使用 jQuery,这将是 var o = document.getElementById("contact"); o.style.display = (o.style.display == "none" ? "" : "none"); 并且加载和运行速度会更快,并且需要更少的内存。 数量级?真的吗?这里的“量级”是多少?我认为您要查找的词是“可以忽略不计” 【参考方案1】:

这是document.getElementById,而不是document.getElementbyId。 (在JS中,变量名和函数名是区分大小写的)

调试提示:查看 JS 控制台(Google Chrome 和 IE9 中的 F12,Firefox 中的 Ctrl+Shift+K)。在这种情况下,可以看到以下错误:

它显示错误发生的位置(html/JS 代码中的第 260 行)以及错误是什么(对象 #&lt;HTMLDocument&gt; 没有方法 getElementbyId)。

【讨论】:

【参考方案2】:

这是getElementById,而不是getElementbyId。注意大写的“B”。

【讨论】:

【参考方案3】:

您会因此而讨厌自己,但是您输入了getElementbyId() 而不是getElementById()。注意第二个版本中大写的“B”。

【讨论】:

【参考方案4】:

它的 getElementById 代替 getElementbyId

【讨论】:

【参考方案5】:

尝试隐藏然后在滚动条上显示一个元素我不得不走这条路。基本上我尝试使用窗口,所以我使用了'body'

$(document).ready(function() 

$('body').scroll(function() 
 var scroll = $('body').scrollTop();
 if (scroll <= 50 ) 
     console.log(scroll);
   we
     else 
    $("#label").css('fill', 'none');
    $(".label").addClass(".transition");
 
 if (scroll <= 150) 
    $(".sizeLG").css('color', '#ffffff');
  else 
    $(".sizeLG").css('color', '#00000000');
    $(".sizeLG").addClass(".transition");
 
);

);

【讨论】:

【参考方案6】:

确保您在 html 代码中使用的 id 或类将相应地使用 .(dot) 或 #(hash) 及其名称。

例如:

   For id:
   html:

  <div  id= idName>
          ****Some code****
   <\div>

  Javascript:
  var VariableName = document.querySelector( "#idName");
   Or
  var VariableName = document.getElementById( "#idName");

  For class:   
 html:
  <div  id= className>
          ****Some code****
   <\div>
  Javascript
  var VariableName = document.querySelector( ".className");
   Or
  var VariableName = document.getElementById( ".className");

【讨论】:

以上是关于为啥我的 Javascript 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

当我将 HTML 放入“包含”中时,为啥我的 javascript 不起作用?

为啥我的 html 请求在 javascript 中不起作用 [重复]

为啥我的停止按钮在这个 javascript 音频播放器上不起作用?

为啥我的 javascript 箭头函数在 Edge/IE 中不起作用?

为啥在我的 JavaScript 浏览器游戏中弹跳 Actor 不起作用?

为啥我的带有“$(this).next”的 JavaScript/jQuery 脚本不起作用?