Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery(';#myModal:visible';)。Javascript中的长度===0_Javascript_Jquery - Fatal编程技术网

jQuery(';#myModal:visible';)。Javascript中的长度===0

jQuery(';#myModal:visible';)。Javascript中的长度===0,javascript,jquery,Javascript,Jquery,在纯JS中,jQuery('#myModal:visible')的等价物是什么 我使用了下面的代码,但是它返回了一个类型错误 TypeError:Window.getComputedStyle的参数1不是对象 使现代化 此代码仅在没有任何#myModal是DOM时有效。 const元素=document.querySelector(“#myModal”); 返回元素===null不使用querySelector只需使用getElementById const isModalVisible=(

在纯JS中,
jQuery('#myModal:visible')的等价物是什么

我使用了下面的代码,但是它返回了一个类型错误

TypeError:Window.getComputedStyle的参数1不是对象


使现代化 此代码仅在没有任何
#myModal
DOM
时有效。
const元素=document.querySelector(“#myModal”);

返回元素===null
不使用
querySelector
只需使用
getElementById

const isModalVisible=(id)=>{
const modal=document.getElementById(id);
返回模式!==null&&window.getComputedStyle(模式)。显示===“无”;
}
#myModal{
显示:无;
}


模态是隐藏的吗?
问题是您假设找到了元素

querySelector
返回对HTML对象的引用,如果查询与元素不匹配,则返回
null

记住这一点,你必须想象你的第二行是:

return window.getComputedStyle(null).display === 'none';
现在很明显你为什么会出错;无法获取计算样式的
null

修正:


document.querySelector(“#myModal”)==null
我将开始调试。在
返回
行上放置一个断点,检查
元素
的值。顺便说一句,在jQuery中,您可以使用
jQuery(“#myModal”)简化该代码。它是(“:visible”)
,但这与要点无关:)。请提出一个新问题(因为您已经收到了几个回答原始问题的答案)。在这个新问题中,请包含一个,提供您运行此JavaScript所针对的HTML。我看到您更新了您的答案!在您的例子中,这个问题可以通过简单的旧Javascript轻松解决。为什么不完全兼容:)我的坏!style属性未获取计算的样式。无效。我有一个模态,但是它的
显示
属性是
。这不是你的问题。我已经回答了你提出的问题,代码是正确的。
return window.getComputedStyle(null).display === 'none';
const element = document.querySelector("#myModal");
if (element)
    return window.getComputedStyle(element).display === 'none';