使用 .each 函数取值,然后编辑并将结果放入其他对象 属性

Using .each function to take a value, then edit and put the result in other objet propery

我正在尝试制作一个脚本,该脚本采用“img src”的 URL 然后编辑并最终将其放在“a data-title= href”上,所有这些都在每个“item- foo item-bar item-foo bar” 该版本有效,我得到 link 但后来我无法进行更改 我尝试在另一个“每个”中做一个“每个”,但它不起作用,接下来尝试使用变量“video”return,但只有最后一个出现。

我希望能很好地解释自己,不幸的是英语不是我的母语而且最重要的是我正在学习 javascript 哈哈。我的问候和尊重。

我希望能很好地解释自己,不幸的是英语不是我的母语而且最重要的是我正在学习 javascript 哈哈。我的问候和尊重!

<div class="item-foo item-bar item-foo bar">

  <div class="inner-block">

    <a data-title="" href="https://example.com/news/16143-chair.htm" title="Chair with rotten legs">
      <span class="image">
<img src="https://thumbs.example.com/thumbs/v/i/d/e/o/chair38630.mp4/chair38630.mp4-3.jpg" alt="Chair with rotten legs" />
            </span>
    </a>
  </div>

  <div class="item-foo item-bar item-foo bar">
    //similar content, diferent URLs
  </div>

  <script>
    jQuery("span.image img").each(function() {

      direccion = $(this).prop("src");
      edit1 = direccion.replace("thumbs", "media");
      edit2 = edit1.replace("thumbs", "videos");
      index = edit2.indexOf("mp4");
      video = edit2.slice(0, index + 3);

      //console.log("The URL of the video is: " + video);

    });
  </script>

要查找包含 <a> 的内容,您可以使用 .closest('a'),然后设置 .attr()

jQuery("span.image img").each(function() {
  direccion = $(this).prop("src").replace("thumbs", "media").replace("thumbs", "videos");
  $(this).closest('a').attr('href',direccion.slice(0, direccion.indexOf("mp4") + 3));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item-foo item-bar item-foo bar">

  <div class="inner-block">

    <a data-title="" href="https://example.com/news/16143-chair.htm" title="Chair with rotten legs"> Right click and check href
      <span class="image">
<img src="https://thumbs.example.com/thumbs/v/i/d/e/o/chair38630.mp4/chair38630.mp4-3.jpg" alt="Chair with rotten legs" />
            </span>
    </a>
  </div>

  <div class="item-foo item-bar item-foo bar">
    <!--similar content, diferent URLs-->
  </div>