我怎么能.addClass('active')到Bootstrap轮播特定项目?

时间:2016-01-11 02:23:50

标签: jquery carousel

我想用Bootstrap做一个模态轮播,我用PHP构建它... 我已经使用此代码预览了一些图像:

<?php

  $directory = "images/*";
  $imagenes  = glob($directory.'{jpg,JPG,jpeg,JPEG,gif,GIF,png,PNG,bmp,BMP}', GLOB_BRACE);
  $i = 0;
  foreach ($imagenes as $imagen) {
      echo '<a class="modal-launch" href="null" data-toggle="modal" data-target="#modalvid" data-num="'.$i.'"><div class="prev" style="background-image:url(' . $imagen . ')"></div></a>';
      $i++;
  }

?>

我添加了一个data-num变量,这样我就可以获得点击图像的数量来打开这个项目上的模态轮播,我想用jQuery做这样的事情:

<script type="text/javascript">

  $(document).ready(function(){
    $('a.modal-launch').on('click', function(e) {
        var num = $(this).attr('data-num');     
        console.log(num);
        $("#'num'").addClass("active"); // this doesn't work
    });
  });    

</script>

在轮播中,我使用上面的代码创建项目行,为他们提供ID中的数字:

foreach ($imagenes as $imagen) {
    echo '<div class="item" id="'.$i.'"><img class="img-responsive" src="' . $imagen . '" alt="" /></div>';
    $i++;
}

如何使用id或其他类型的参数正确指向任何特定项?

感谢。

1 个答案:

答案 0 :(得分:0)

'周围无需使用id。因此代码应该是:

$("#num").addClass("active");

如果您愿意,唯一可以使用'的是属性名称是选择器的一部分,例如:

$("[id='num'").addClass("active"); //same as
$("[id=num]").addClass("active");

当您想要选择 id开头num的所有元素时,这种格式非常有用,例如

$("[id^='num']").addClass("active");

<强>更新

如果num是变量,则代码应为:

$("#" + num).addClass("active");