从div获取数据ID的函数

时间:2019-03-03 15:47:40

标签: javascript

我有此代码:

$(document).ready(function() {
  $('.carousel').carousel({
    interval: false
  });

  $('.carousel').bind('slide.bs.carousel', function(e) {
    alert($(".active").data("item-id"));
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="carousel-inner ">
  <div class="item   slideDate" data-id="03-03-2019">
    <div class="kalendarzMalyDataZabacz  kalendarzMalyDataZabaczCor">03<br>03</div>
  </div>
  <div class="item  slideDate active" data-id="04-03-2019">
    <div class="kalendarzMalyDataZabacz  kalendarzMalyDataZabaczCor">04<br>03</div>
  </div>
  <div class="item  slideDate" data-id="05-03-2019">
    <div class="kalendarzMalyDataZabacz  kalendarzMalyDataZabaczCor">05<br>03</div>
  </div>
</div>

这是引导轮播。很好我想在警报框中显示我的可见日期(带有活动幻灯片的数据ID)。

我该怎么做?

我带警报的实际功能不起作用:(

更新

它不起作用。这是我的完整代码:https://pastebin.com/b2bCWv9u与此div

3 个答案:

答案 0 :(得分:0)

如果要将数据放入data-id中,则可能需要使用

$(".active").attr("data-id")

然后您的代码如下所示

$(document).ready(function() {
  $('.carousel').carousel({
    interval: false
  });

  $('.carousel').bind('slide.bs.carousel', function(e) {
    alert($(".active").attr("data-id"));
  });
});

编辑: 也许您的.active类有一个以上的DOM 尝试用此代码更具体地替换警报。

$(".item.slideDate.active").attr("data-id")

更多信息:http://api.jquery.com/attr/

答案 1 :(得分:0)

由于日期实际上存储在data-id属性中,因此您应该使用jquery的prop()方法

因此以下代码通常应该可以工作:

alert($(".active").prop("data-id"));

答案 2 :(得分:0)

要获取属性data-id的内容(如链接中的内容),您必须使用

$('selector').attr("data-id") 

//将返回字符串“ 123”

您可以使用.data()(如果您使用更新的jQuery> = 1.4.3)

$('selector').data("id")

//将返回数字123