是否有 css 选项将 html 图像链接到自身?

Is there a css option that links an html image to itself?

所以这个:

<html>
    <head>
        <style>
            img{href:self}
        </style>
    </head>
    <img src="./Sampleimage"/>
</html>

基本上是我需要的代码,但由于我不知道如何或什至不知道是否可以这样做,我想,我必须问比我更聪明的人。

我有点不得不这样做,因为我在这个 html 文档中有大约 200 张图片,并且每一张都必须 link 自己。因此,为每张图片添加单独的 <a> 标签并不是很时尚。

扩展 WillardSolutions 的评论...

document.getElementById("myImg").addEventListener("click", function() {
  window.open(this.getAttribute("src"));
});
.clickable {
  cursor: pointer;
}
<img id="myImg" class="clickable" src="https://www.w3schools.com/images/compatible_chrome.gif"/>

打开您的浏览器控制台以查看 URL 的打开被阻止...

如果您希望它在新 window/tab 中打开,请使用:

window.open(this.getAttribute("src"), '_blank');

好主意,但不是,正如上面的评论者所解释的那样。

您可以做的是使用 jQuery 获取每个图像的来源 URL 并将其附加到父 <a> 元素。我会在页面加载时执行此操作,而不是在单击图像时执行此操作,因为这样图像就可以单击了。

我还建议使用图像的缩略图版本,否则页面加载需要很长时间。 (如果这样做,您需要将所有缩略图放在一个子目录中,然后使用 replace function 从 link URL 中删除该子目录。

$( document ).ready(function() {
    
  $("img").each(function(){
    var imgUrl = $(this).attr('src');
    $(this).parent().attr('href', imgUrl);
  }); 
    
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a><img src="https://cdn.pixabay.com/photo/2018/12/15/02/53/flower-3876195_960_720.jpg" width="200"/></a>

不要为这个简单的解决方案使用 JS...

<a href="image-src.ext">
 <img src="image-src.ext"/>
</a>

如果您希望图像可下载,请将 download 属性添加到 <a>。这真的没问题,而且性能更快的解决方案。关于 'stylish'...忘记编码时的时尚 :D

这可能是您正在寻找的解决方案。

这里是fiddle。 https://jsfiddle.net/RadekD/bgfpedxv/1/

HTML

<img class="image" src="https://placeimg.com/100/200/nature" />
<img class="image" src="https://placeimg.com/200/200/nature" />
<img class="image" src="https://placeimg.com/300/200/nature" />

JS

var images = document.querySelectorAll('.image');
    images.forEach(function(element) {
        element.addEventListener("click",function(){
            window.location.assign(element.src);
        });
    });