繁体   English   中英

为什么返回document.getElementById不起作用

[英]why return document.getElementById doesn't work

var $ = function (id){return document.getElementById(id);}
 window.onload=function(){
 $("num").onfocus=function(){
        $("show").style.display="block";
 }

未捕获的TypeError:undefined不是函数

但是当我将$(“ num”)更改为$(“#num”)时,为什么可以呢?

您必须在页面上加载jQuery,并且将$定义为局部变量,因此在onload期间,$变量采用旧的含义,即jQuery。 jQuery使用与CSS相同的选择器。

您可以通过禁用不需要的jQuery或将其设置为兼容模式或将$变量设置为全局变量来解决问题。

如果您的代码有效

a)没有加载jQuery

b)添加缺少的花括号

现场演示

var $ = function (id){return document.getElementById(id);} 

window.onload=function(){
   $("num").onfocus=function(){
        $("show").style.display="block";
   }       
 }

您最有可能引用的是信息量不大的 jQuery $变量名。 原因是在引用jQuery框架(源)的情况下, window.jQuerywindow.$都指向jQuery实例。


实际上,next应该能按预期工作:

  window.onload=function(){ var $ = function (id){return document.getElementById(id);} $("num").onfocus=function(){ $("show").style.display="block"; } } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM