jquery - 使用 jQuery 更改多个图像 src

标签 jquery html

我有一个 2 行 3 列的网格,我希望在每张卡片中都有不同的图像,并且图像也应该不同,具体取决于用户是否从不同的菜单输入。

我尝试使用 for 循环来选择不同的图像,但只选择第一个或最后一个图像。

$("img").attr('src', function() {
  for (var i = 0; i < this.length; i++) {
    return "media/" + currentId + i + ".jpg";
    i++;
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- This is 1 card out of 6 -->

<div class="card">
  <div class="card-image waves-effect waves-block waves-light">
    <img class="activator">
  </div>
  <div class="card-content">
    <span class="card-title activator"></span>
  </div>
  <div class="card-action">
    <span class="link">Lorem impsum</span>
  </div>
  <div class="card-reveal">
    <span class="card-title"><i class="material-icons right">close</i></span>
    <p>Lorem impsum</p>
  </div>
</div>

正如我在文章前面所描述的,输出应该是 6 个不同的图像,而且只是 6 个相同的图像。

最佳答案

通过向 attr() 提供函数,您可以在每个 img 元素中创建一个隐式循环。因此,您不需要该函数中的 for 循环。然后,您可以通过接收函数的第一个参数并将其用作图像文件的名称来获取循环中当前元素的索引。试试这个:

$("img").attr('src', function(i) {
  return "media/" + i + ".jpg";
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- This is 1 card out of 6 -->

<div class="card">
  <div class="card-image waves-effect waves-block waves-light">
    <img class="activator">
  </div>
  <div class="card-action">
    <span class="link">Lorem impsum</span>
  </div>
</div>
<div class="card">
  <div class="card-image waves-effect waves-block waves-light">
    <img class="activator">
  </div>
  <div class="card-action">
    <span class="link">Lorem impsum</span>
  </div>
</div>

关于jquery - 使用 jQuery 更改多个图像 src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220492/

相关文章:

Html 按钮提交未完全显示

html - 如何正确使用HTML5标签Article和Section?

php - 数据库支持的输入字段的代理过滤器值

jquery - 延迟后关闭 fancybox

jquery 将内容传递给 $(this).text

javascript - jQuery 在同一行中是第一个而不是第一个,可能吗?

html - Font-Awesome 不显示,而是在 Spring 框架中显示正方形

javascript - 测量ajax接收时间

javascript - $(document).height 和 $(window).height 都返回相同的值 - 使用正确的文档类型

html - 在编写文本的 Css 属性时未获得预期的输出