4Manuals

  • PDF Cloud HOME

Javascript / Jquery-获取可见图像的链接 Download

    具有Iframe表单的HTML文件,使用框架外的按钮通过JQuery提交表单按钮 CSS / JS-如何覆盖一个孩子而不是其他孩子的父母过渡 反应:更改方向后触发重新渲染和offsetWidth的重新计算 我的Javascript从'string'转换为'integer'或'number'无效 如何删除外部索引并合并内部json 在React Native 转换后的SELECT下拉列表(以ul为单位)不会显示在SAFARI 图片无法通过javascript刷新 如何在react图表上的datakey中操作DateTime 在Cypress中保存变量

我有一些模态,其中有一些图像。我还有一个下载按钮,应该只下载模式中的显示(唯一可见)图像。
我试图使下载按钮的href链接等于可见的图像href,但是它似乎不起作用...
Here您可以看到完整的页面代码,但是让我感兴趣的部分是这个:

<div id="myModal_12" class="modal">
  <div class="modal-content">
    <div class="Slide mySlides_12">
      <div class="numbertext">1 / 3</div>
      <img src="uploads/IMG_4946.JPG43879.jpg" class="little_image" style="width:50%;">
    </div>
    <div class="Slide mySlides_12">
      <div class="numbertext">2 / 3</div>
      <img src="uploads/IMG_4949.JPG21730.jpg" class="little_image" style="width:50%;">
    </div>
    <div class="Slide mySlides_12">
      <div class="numbertext">3 / 3</div>
      <img src="uploads/IMG_4950.JPG72501.jpg" class="little_image" style="width:50%;">
    </div>
    <!-- Next/previous controls -->
    <div class="input-group-btn">
      <a onclick="downloadFunction(this)">Download this image</a>
    </div>

    <span class="close cursor" onclick="closeModal(12)">
                                                    <img src="/images/close.png">
                                                </span>
    <a class="prev" style=" display: block; " onclick="plusSlides(-1, 12)">❮</a>
    <a class="next" style=" display: block; " onclick="plusSlides(1, 12)">❯</a>
  </div>
</div>
</div>


<script>
  function downloadFunction(linkElement) {
    var little_image = document.getElementsByClassName("little_image"); // Get all the images with that class
    var right_image = $(little_image).not(":hidden"); // Get just the visible image
    var src = right_image.src;
    linkElement.href = src; // Set the link href on the visible image src
  }
</script>

JavaScript函数返回一个“未定义”值...
任何帮助都非常感谢

3 个答案:

答案 0 :(得分:2)

要获取元素的src属性,应使用attr(<attribute>)方法。鉴于您要尝试执行的操作,此逻辑可以简化为:

linkElement.href = $('.little_image:visible').attr('src');

答案 1 :(得分:1)

如果要获取element的属性,则应使用attr函数。在您遇到问题时,您需要这样拨打电话;

val

此外,如果要设置属性,请使用.attr(attribute,value),如下所示:

main

答案 2 :(得分:1)

正如Taplar所说的,您可以使用:

linkElement.href = $(".little_image:visible").attr("src");

但是,有一个问题。 jQuery函数返回一个数组,如果您在此元素之前添加了另一个符合此条件的元素,则可能会导致问题。由于attr返回该数组的第一个元素,因此它可能不适用于您想要的适当元素。要解决这个问题,您可以这样写:

linkElement.href = $(".little_image:visible")[1].getAttribute("src"); // [1] the second element



Similar searches
    Azure Service Bus-已取消排定的计划邮件重新排队 函数模板调用未解决 如何以表单形式显示编码的字符串以与电子邮件模板一起发送C#MVC 多项式的卷积返回意外值 使用go-tdlib停留在“ authorizationsStateWaitPhoneNumber”状态