【问题标题】:$(window) not being recognised as a window$(window) 未被识别为窗口
【发布时间】:2019-10-15 15:37:33
【问题描述】:

我正在尝试编写一个函数来识别 javascript 变量是否是窗口。我研究了一些方法来确定变量是否是窗口,但似乎都没有工作。

我已经尝试了以下

  //define the variable as the window
  var myVariable  =$(window);


 //attempt 1 by comparing variable to window - showing not a window
 if(myVariable==window){
    console.log("window");
 }
 else{
    console.log("not a window"); 
 }

 //attempt 2 - showing not a window
 if(myVariable===window){
    console.log("window");
 }
 else{
    console.log("not a window"); 
 }

  //atttempt 3   - returns false - from https://stackoverflow.com/questions/9576283/jquerys-iswindow-method
  function isWindow(obj) {
        var toString = Object.prototype.toString.call(obj);
         return toString == '[object global]' || toString == '[object 
         Window]' || toString == '[object DOMWindow]';
  }

  ///attempt 4 - returns false
   function isWindowf(obj) { return ['[object global]','[object 
          Window]','[object DOMWindow]'].indexOf(Object.prototype.toString.call(obj)) >= 0
 }

我正在寻找一个可以放入变量的函数,它会说明变量是否是窗口,例如

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <script>
 //define the variable
 var myVariable=$(window);

 //put the variable into a function
 function checkIfMyVariableIsAWindow(myVariable  ){
     //if is a window then return true    
     if(/*code to run to see if is a window*/){ 
            console.log("is a window")
      }
      //if not a window then return false
      else{
           console.log("is not a window")
      }   
  }
  <script>

提前感谢您的帮助

【问题讨论】:

  • 一个 jQuery 对象 === 窗口永远不会是真的。它们不是同一类型。
  • 啊,这就是它不起作用的原因。你知道判断 jquery 对象是否为窗口的方法吗?
  • jqueryObject[0] === window
  • 非常感谢。完美运行
  • 为什么要降价。我清楚地说明了我尝试过的事情,并说明了可能存在的常见误解

标签: javascript jquery window


【解决方案1】:

尝试使用myVariable[0],jQuery默认返回DOM元素数组。

【讨论】:

    【解决方案2】:

    jQuery 默认返回 DOM 元素的数组,你必须使用数组的第一个元素来访问 DOM

    【讨论】:

      猜你喜欢
      • 2020-03-23
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多