我有一些模态,其中有一些图像。我还有一个下载按钮,应该只下载模式中的显示(唯一可见)图像。 JavaScript函数返回一个“未定义”值... 答案 0 :(得分:2) 要获取元素的 答案 1 :(得分:1) 如果要获取element的属性,则应使用attr函数。在您遇到问题时,您需要这样拨打电话; 此外,如果要设置属性,请使用.attr(attribute,value),如下所示: 答案 2 :(得分:1) 正如Taplar所说的,您可以使用: 但是,有一个问题。 jQuery函数返回一个数组,如果您在此元素之前添加了另一个符合此条件的元素,则可能会导致问题。由于attr返回该数组的第一个元素,因此它可能不适用于您想要的适当元素。要解决这个问题,您可以这样写:
我试图使下载按钮的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>
任何帮助都非常感谢3 个答案:
src
属性,应使用attr(<attribute>)
方法。鉴于您要尝试执行的操作,此逻辑可以简化为:linkElement.href = $('.little_image:visible').attr('src');
val
main
linkElement.href = $(".little_image:visible").attr("src");
linkElement.href = $(".little_image:visible")[1].getAttribute("src"); // [1] the second element