getElementsByClassName上的Javascript循环

getElementsByClassName上的Javascript循环,javascript,hammer.js,Javascript,Hammer.js,我尝试使用getElementsByClassName进行迭代,但我尝试实现的效果会同时影响所有项目 我怎样才能使它在每次刷卡时工作1项 HTML: js: var wrap=document.getElementById('recog'); var swiper=新锤子(缠绕); on('swipleft',function(){ var items=document.getElementsByClassName('item'); 对于(变量i=0;i

我尝试使用
getElementsByClassName
进行迭代,但我尝试实现的效果会同时影响所有项目

我怎样才能使它在每次刷卡时工作1项

HTML:


js:

var wrap=document.getElementById('recog');
var swiper=新锤子(缠绕);
on('swipleft',function(){
var items=document.getElementsByClassName('item');
对于(变量i=0;i
也许这会更好,使用,您可以进一步缩小命中列表

var wrap = document.getElementById('recog');
var swiper = new Hammer(wrap);
swiper.on('swipeleft', function(){
  var items = wrap.querySelectorAll('.item');
  for ( var i=0; i < items.length ; i++ ){
    items[i].classList.add('gone');
  }
});

更新2

如果你只想要被击物品,你应该可以这样做,但这取决于锤子如何向前传递目标

var wrap = document.getElementById('recog');
var swiper = new Hammer(wrap);
swiper.on('swipeleft', function(e){
  e.target.classList.add('gone');
});

如果这不起作用,您可能需要在每个项目上添加一个刷子。

为什么它不会影响所有
。项目
元素,您不排除任何元素?我是尝试学习vanilla js的新手。请你进一步解释或给我建议好吗?。。谢谢,然后你必须解释你想做得更好的地方
document.GetElementsByCassName('item')
获取文档中类
的所有元素。item
不是您想要的吗?请同时发布html。是的,这就是您正在做的,您将类
添加到文档中带有类
item
的每个元素中。您是否正在尝试做其他事情,如果是这样的话,是什么,还是它没有按它应该做的那样添加类?不幸的是,它仍然将类添加到整个元素中:/what’您所说的整个元素是什么意思?
var wrap = document.getElementById('recog');
var swiper = new Hammer(wrap);
swiper.on('swipeleft', function(){
  var items = wrap.querySelectorAll('.item');
  for ( var i=0; i < items.length ; i++ ){
    items[i].classList.add('gone');
  }
});
var wrap = document.getElementById('recog');
var swiper = new Hammer(wrap);
swiper.on('swipeleft', function(){
  var item = wrap.querySelector('.item');
  item.classList.add('gone');
});
var wrap = document.getElementById('recog');
var swiper = new Hammer(wrap);
swiper.on('swipeleft', function(e){
  e.target.classList.add('gone');
});