使用jQuery获取<source />元素的属性值

时间:2018-09-30 04:45:22

标签: jquery

我正在尝试使用jQuery从<source>元素中获取属性值。 <source ix-path="example.com/something.jpg">

$("[ix-path*='something']").each(function (index, element) {
    let path = $(element).attr('ix-path');
    console.log('path: ', path);
});

我的代码在ix-path元素中还具有属性<img>,此代码可以很好地获取它们。

我认为attr()仅获得第一个匹配元素的值。但是,这不应该成为问题,因为我将其放在each()函数中,它将从多个ix-path元素中获取<img>的值。是因为<source>是一个空元素吗?

1 个答案:

答案 0 :(得分:1)

使用$(this)代替$(element)

$("[ix-path*='x']").each(function(index, element) {
  let path = $(this).attr('ix-path');
  console.log('path: ', path);
});
<audio controls>
  <source src='file.mp3' type='audio/mpeg' ix-path='x0'>
</audio>
<audio controls>
  <source src='file.mp3' type='audio/mpeg' ix-path='x1'>
</audio>
<audio controls>
  <source src='file.mp3' type='audio/mpeg' ix-path='x2'>
</audio>
<audio controls>
  <source src='file.mp3' type='audio/mpeg' ix-path='x3'>
</audio>
<audio controls>
  <source src='file.mp3' type='audio/mpeg' ix-path='x4'>
</audio>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>