【问题标题】:Using .each function to take a value, then edit and put the result in other objet propery使用 .each 函数取值,然后编辑并将结果放入其他对象属性
【发布时间】:2022-01-22 09:20:50
【问题描述】:

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

我希望能很好地解释自己,不幸的是英语不是我的母语,除此之外,我正在学习 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>

【问题讨论】:

    标签: javascript jquery userscripts


    【解决方案1】:

    要查找包含&lt;a&gt;,您可以使用.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>

    【讨论】:

    • 您好,感谢 Kinglish,不是图片,而是每个 a data-title="" href=,我尝试使用 $("div.inner-block a").attr('href',direccion.slice(0, direccion.indexOf("mp4") + 3));,但对每个人都不起作用。
    • @VictorVincenzo - 我明白了。检查我更新的答案,看看是否有帮助。
    • 无可挑剔!!如果我告诉你我花了一周时间寻找没有成功的解决方案并通过“jquery”学习,我并没有说谎。但是,我不想从cero学习所有东西,而是想走捷径做一些更有趣的事情。现在是继续学习的时候了。非常感谢!!
    猜你喜欢
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多