2017-09-13 64 views
-3

当我点击下一个按钮时,需要通过迭代或通过纯JavaScript中的data-id获取每个循环的下一个div。点击获取使用JavaScript的每个循环的下一次迭代

var stepsWrp = document.querySelectorAll('.stepWrp'); 
 

 
stepsWrp.forEach(function(item, index){ 
 

 
\t item.addEventListener('click', function (event) { 
 
\t \t if (event.target.nodeName === 'BUTTON' && 
 
\t \t \t event.target.innerText === 'Next' && 
 
\t \t \t event.target.classList.contains('nextBtn') 
 
\t \t \t) { \t \t \t \t 
 

 

 
\t \t \t  
 
\t \t } 
 
}) 
 
})
.stepWrp { 
 
display:inline-block; 
 
width:100px; 
 
height:100px; 
 
border:1px solid #ccc; 
 
} 
 
.active { 
 
border:1px solid red; 
 
}
<div class="stepWrp" data-id="1"> 
 
    text content 1 
 
    <button class="nextBtn">Next</button> 
 
</div> 
 
<div class="stepWrp" data-id="2"> 
 
    text content 2 
 
    <button class="nextBtn">Next</button> 
 
</div> 
 
<div class="stepWrp" data-id="3"> 
 
    text content 3 
 
    
 
</div>

+1

什么问题,特别是,你有这个实现自己呢? – halfer

回答

1

因此,使用node.nextSiblingnode.nextElementSibling被点击的一个之后引用的元素。

var stepsWrp = document.querySelectorAll('.stepWrp'); 
 
stepsWrp.forEach(function(item, index) { 
 
    item.addEventListener('click', function(event) { 
 
    console.log(item.nextElementSibling) 
 
    }) 
 
})
.stepWrp { 
 
    display: inline-block; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 1px solid #ccc; 
 
} 
 

 
.active { 
 
    border: 1px solid red; 
 
}
<div class="stepWrp" data-id="1"> 
 
    text content 1 
 
    <button class="nextBtn">Next</button> 
 
</div> 
 
<div class="stepWrp" data-id="2"> 
 
    text content 2 
 
    <button class="nextBtn">Next</button> 
 
</div> 
 
<div class="stepWrp" data-id="3"> 
 
    text content 3 
 

 
</div>

+0

这是工作很好,谢谢,但如果它不nextelmentsbiling是有另一种方式得到它 –

+1

那么你可以读取数据ID,解析出数字,并添加一个,并选择下一个元素与该数据ID – epascarello

+0

你可以请给我举个例子,我怎么能让它变成我对不起更多的问题 –

相关问题