使querySelector全部成为活动节点列表

问题描述 投票:-1回答:1

我正在使用Swiper.js在同一页面上创建多个滑块。

对于我正在编写的程序,我试图访问页面上的第二个滑动器,然后根据我提供的参数将其移动到某个幻灯片。我可以使用var mySwiper = document.querySelector('.swiper-container').swiper;我尝试通过访问第二个刷卡器var mySwiper = document.querySelectorAll('.swiper-container')[1].swiper;如果我使用控制台日志mySwiper,则两种方法都返回相同的结果。

我也尝试过使用var mySwiper = document.querySelector('.swiper-container:nth-child(2)');,但是返回了null而不是刷卡信息。

[getElementsByClassName也返回正确的值,但不让nextSlide()函数执行。

我想在它们两个上都使用mySwiper.slideNext();,但是它仅适用于querySelector,而不适用于选定的querySelectorAll

问题是querySelector是活动的,而querySelectorAll是静态的nodeList。如果可以启用querySelectorAll,则可以解决此问题,但是,我还没有找到任何文档。

我的完整代码:

if (condition1) {
     var mySwiper = document.querySelector('.swiper-container').swiper;
     var swiper = value1;
     setSwiper(mySwiper, swiper);
}
else if (condition2){
    var swiper = customObject['option2'];
    var mySwiper = document.querySelectorAll('.swiper-container')[1].swiper;
    setSwiper((mySwiper, swiper));
}

function setSwiper(selected, arg){
    if(arg == "B"){
        selected.slideNext();
    } else if(arg == "C"){
        selected.slideNext();
        selected.slideNext();
    }
}

功能运行不受干扰。

javascript swiper swiperjs
1个回答
0
投票

在第二种情况下,我叫setSwiper((mySwiper, swiper));,应该是setSwiper(mySwiper, swiper);删除固定我的代码的多余括号,并利用getElementsByClassName

© www.soinside.com 2019 - 2024. All rights reserved.