簡體   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