在我的网站的Javascript中报告了问题



我的网站有一个简单的滑动转盘,它可以正常工作,但SEOptimer评估报告说:

"无法在showSlides中读取未定义的属性'className'(http://www.abacus-arts.org.uk/:78:8)">

第78行在下面的末尾附近,上面写着:dots[slideIndex-1].className += " active";

我可以安全地忽略SEOptimer问题报告吗?或者你可以帮助我修复它吗?

<div>
<!-- code for slides 1 to 4 removed, below are slides 5 and 6 in the carousell -->
<div class="mySlides">
<div class="picnumber"> 5 / 6</div> <img src="Pic-5-DM.jpg" alt="Pic5" style="width:100%";> 
<div class="pictitle"> Breakout room LHS view                      </div> </div>
<div class="mySlides">
<div class="picnumber"> 6 / 6</div> <img src="Pic-6-GW.jpg" alt="Pic6" style="width:100%";> 
<div class="pictitle"> Street view of entrance  </div> </div>
<!-- Back and forward buttons jump to the Java Script lower down -->
<a class="prev" onclick="plusSlides(-1)"> &lt;</a>
<a class="next" onclick="plusSlides(1)">  &gt;</a>
</div>
<!-- from https://www.w3schools.com/howto/howto_js_slideshow_gallery.asp -->
<script>
var slideIndex = 1;
showSlides(slideIndex);
function plusSlides(n)   {   showSlides(slideIndex += n); }
function currentSlide(n) {   showSlides(slideIndex = n);  }
function showSlides(n)   {   var i;
var slides = document.getElementsByClassName("mySlides");
//   var dots = document.getElementsByClassName("demo");
//   var captionText = document.getElementById("caption");
if (n > slides.length) {slideIndex = 1                }
if (n < 1)             {slideIndex = slides.length    }
for (i = 0; i < slides.length; i++) { slides[i].style.display = "none";  }
//   for (i = 0; i < dots.length; i++)  
//   { dots[i].className = dots[i].className.replace(" active", "");  }
slides[slideIndex-1].style.display = "block";
//   dots[slideIndex-1].className += " active";
//  captionText.innerHTML = dots[slideIndex-1].alt;  
}
</script>

更新。通过删除未使用变量的行来解决,如//所示。

@phuzi感谢大家鼓励我搜索未使用的变量,我在开发HTML时发现我已经停止使用"demo、dots和字幕文本";当这些代码行被排除在外时,问题就消失了
非常感谢。格雷姆。

var dots = document.getElementsByClassName("demo");

存在null,这意味着-我找不到任何名称为"的类;demo";检查html部件代码

最新更新