我有幾個HTML頁面都鏈接到相同的JavaScript文件(其中包含一些IIFE函數)。 其中一個功能控制只在一個頁面上的某個按鈕。但由於其他HTML文件連接到同一個JS文件,在他們的網頁,我得到的控制檯錯誤:單獨HTML頁面上的JavaScript null屬性錯誤
Uncaught TypeError: Cannot read property 'style' of undefined
at showDivs (scripts.js:99)
at scripts.js:82
at scripts.js:108
所以,我應該如何處理的功能,因此,只有當它檢測到的元素,它應該適用風格?
(function(){
let left = document.getElementById("left");
let right = document.getElementById("right");
var slideIndex = 1;
showDivs(slideIndex);
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
};
left.addEventListener("click", plusDivs(-1));
right.addEventListener("click", plusDivs(1));
})();
錯誤在行上:x [slideIndex-1] .style.display =「block」;
我已經試過把'如果x存在,然後做以上',但這似乎並沒有做任何事情。
,請複製粘貼的內容作爲引用文本的錯誤,而不是它的圖像。 –
請檢查slideIndex的值和x的長度 –