当我console.log target.nextElementSibling时,它指向正确的element.But,当我尝试将".d_on“类添加到target.nextElementSibling时,我得到了上面的错误。
var ul = document.querySelector(".images");
var img_li = document.querySelectorAll(".img_li");
var pointer = document.querySelector(".d_on");
var left = document.querySelector(".left");
var right = document.querySelector(".right");
right.addEventListener("click",function(){
img_li.forEach(element => {
if(element.classList.contains("d_on")){
element.classList.remove("d_on");
var nextElem = element.nextElementSibling;
console.log(nextElem);
nextElem.classList.add("d_on");
}
});
});//end of event
<body>
<div id="img-nav">
<a href="#" class="arrow left"><img src="img/left.png"></a>
<a href="#" class="arrow right"><img src="img/right.png"></a>
</div>
<ul id="images">
<li class="img_li d_on"><img src="img/1.jpg"></li>
<li class="img_li "><img src="img/2.jpg"></li>
<li class="img_li"><img src="img/3.jpg"></li>
<li class="img_li "><img src="img/4.jpg"></li>
<li class="img_li"><img src="img/5.jpg"></li>
<li class="img_li"><img src="img/6.jpg"></li>
<li class="img_li"><img src="img/7.jpg"></li>
<li class="img_li"><img src="img/8.jpg"></li>
</ul>
</body>
发布于 2018-07-07 04:40:43
为nextElement添加一个空检查
if (nextElem != null) {
nextElem.classList.add("d_on");
}
//Note: nextElem!= null checks for both null and undefined.
发布于 2018-07-07 04:15:08
下面是Patrick的技巧,尝试添加一个
if (nextElem) {
nextElem.classList.add("d_on");
}
https://stackoverflow.com/questions/51219770
复制相似问题