在Chrome的Javascript控制台中无法读取null的属性“样式”

时间:2012-06-04 19:46:02

标签: javascript google-chrome null

我正在检查JS控制台,它帮助我解决了一些小问题,但我想知道这个警告是否值得严重担心?

这是给出错误的代码:

<script type="text/javascript"
src="https://www.safaviehhome.com/product_images/locations/js/jqgalscroll.js"></script>
<script src="https://www.safaviehhome.com/product_images/mainnav/stuHover.js"             type="text/javascript"></script>
<script>
function layerSetup(id,visibility){
if(document.getElementById){
this.obj = document.getElementById(id).style;
Uncaught TypeError: Cannot read property 'style' of null
Uncaught TypeError: Cannot read property 'style' of null
<!--Includes many more of the same "Cannot read property 'style' of null messages -->

this.obj.visibility = visibility;
return this.obj;}
else if(document.all){
this.obj = document.all[id].style;
this.obj.visibility = visibility;
return this.obj;}
else if(document.layers){
this.obj = document.layers[id];
this.obj.visibility = visibility;
return this.obj;}
}
function visVisible(param){
new layerSetup(param,'visible');
}

function visHidden(param){
new layerSetup(param,'hidden');
}</script>

我无法弄清楚为什么会发生这种情况以及我是否应该担心,因为我们的地毯类别功能正常。任何人都可以提供任何见解吗?我为没有提供任何我自己的解释而道歉,但我没有写过这个以前合作过的JS,现在由我来调试他所做的每一个错误。这是一个学习过程,但我还是有点新鲜......

2 个答案:

答案 0 :(得分:2)

这可能有两个原因。

  1. 在页面的某个位置,layerSetup函数被调用null作为其中一个参数。
  2. 页面上不存在id传递给layerSetup函数的元素。
  3. 在Chrome开发者控制台中,您可以点击左下方栏中的Pause on All Exceptions按钮,其中包含暂停符号。这将帮助您确定传递给函数的参数。

答案 1 :(得分:0)