简体   繁体   English

如何在轮播中获取具有有效类名的图像标签的src值?

[英]How to get the src value of an image tag with an active class name in carousel?

Consider this sample Carousel: 考虑以下示例轮播:

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
    <div class="carousel-item active">
        <img class="d-block w-100" src="..." alt="First slide">
    </div>
    <div class="carousel-item">
        <img class="d-block w-100" src="..." alt="Second slide">
    </div>
    <div class="carousel-item">
        <img class="d-block w-100" src="..." alt="Third slide">
    </div>
</div>
<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>

Can you help me to get the src of the image tag that is active in the carousel display? 您能帮我获取轮播展示中有效的图片标签的src吗?

Find the desired element and get its src attribute.. 找到所需的元素并获取其src属性。

 //let activeEle = document.getElementsByClassName('active'); let activeEle = document.querySelector('.carousel-item.active img'); console.log(activeEle.getAttribute('src')); 
 <div id="carouselExampleControls" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="thisisSource" alt="First slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="Second slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="Third slide"> </div> </div> <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> 

You can use Document.querySelector() to target the element and Element.getAttribute() to get the source: 您可以使用Document.querySelector()定位元素,并使用Element.getAttribute()获取源:

document.querySelector('.carousel-item.active > img').getAttribute('src')

 var activeElImgSrc = document.querySelector('.carousel-item.active > img').getAttribute('src'); console.log(activeElImgSrc); 
 <div id="carouselExampleControls" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src=".../test" alt="First slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="Second slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="Third slide"> </div> </div> <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> 

Use the events available in bootstrap carousel plugin 使用引导轮播插件中可用的事件

$('#carouselId').on('slide.bs.carousel', function (e) {
  console.log($(e.relatedTarget).find('img').prop('src'))
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM