我有一个html div,如下面的代码
<div class="swiper-wrapper">
<?php for($i=0;$i<=10;$i++) { ?>
<div class="swiper-slide" id=<?php echo $i; ?>>
<img src="videos/Capture.PNG" alt="">
<source class="a" src="videos/test.mp4" type="video/mp4">
</div>
<?php } ?>
</div>
现在我想要点击swiper-slide
类然后我需要source src属性。
我试过下面的代码
<script>
$('.swiper-slide').click(function(){
var value = $('.swiper-slider > source').attr('src');
}
</script>
此时它仅适用于第一张图像。如何让它变得动态?
答案 0 :(得分:1)
您需要在点击事件中使用点击的元素上下文this
以及.find()
:
$('.swiper-slide').click(function(){
var value = $('source',this).attr('src'); //or $(this).find('source').attr('src');
});
答案 1 :(得分:1)
请注意,您的代码中存在两个错误:
attar()
应为attr()
)
。您可以将find()
与$(this)
一起使用。事件处理程序内的$(this)
是发生事件的元素引用。
$(this) // Element that is clicked
.find('source') // Get `<source>` element inside clicked element
.attr('src'); // Get `src` attribute value
使用$('.swiper-slide')
时,它会选择DOM中具有swiper-slide
类的所有元素,并且当使用attr()
方法时,传递的值返回匹配集中第一个元素的属性。