如何通过索引选择DOM元素

时间:2015-09-12 12:41:21

标签: jquery

我有带导航按钮的滑块,我想在用户悬停按钮(幻灯片)时显示正确的图像。所以我通过索引()

获取悬停按钮的数量
var slideNr = $('.slidermenu li').index($('.activeslide'));

我检查了这个值,这很好用。我的问题开始时,我想添加类(显示正确的图像)“activeimg”到img与索引相同的索引。

$('.sliderimage :eq(slideNr)').addClass("activeimg");

我试过:eq和:get,两个都想要工作,有什么想法吗?

编辑:

HTML

<div class="sliderimage">
<img src="img.jpg">
<img src="imga.jpg">
<img src="imgb.jpg">
<img src="imgd.jpg">
<img src="imgc.jpg">
</div>

<div class="slidermenu">
          <ul>
            <li>button1</li>
            <li>button2</li>
            <li>button3</li>
            <li>button4</li>
            <li>button5</li>
          </ul>

JS

    $(".slidermenu li").hover(

    function () {
        clearInterval(timer);
            $('.slidermenu ul :not(this)').removeClass("activeslide");
            $(this).addClass("activeslide");
            var slideNr = $('.slidermenu li').index($('.activeslide'));
 ----problem-------------
            $('.sliderimage img :not(:eq(slideNr))').removeClass("activeimg");
            $('.sliderimage :eq(slideNr)').addClass("activeimg");
 -----------------
    },
    function () {
        timer = setInterval( slidedown, 3000);
    }

2 个答案:

答案 0 :(得分:3)

我更喜欢使用eq函数 根据jQuery文档:

  

给定一个表示一组DOM元素的jQuery对象,.eq()方法从该集合中的一个元素构造一个新的jQuery对象。提供的索引标识该元素在该集合中的位置。

$('.sliderimage').eq(slideNr).addClass("activeimg");

答案 1 :(得分:1)

您正在使用&#39; slideNr&#39;作为字符串,而不是变量

试试这个:

$('.sliderimage :eq('+slideNr+')').addClass("activeimg");