如果找不到图像,请禁用锚点或超链接
Disable an anchor or hyperlink if image not found
我有一个图像标签,包含在锚点元素中,如下所示:
<a href='$image'><img alt='No Image' src='$image'></a>
我发现如果没有图片,我仍然可以点击链接。如果图像不存在,我想禁用链接。最好的方法是什么?
更新:
我在下面尝试了mplungjan的解决方案,但没有成功。如果javascript不能胜任这项工作,我愿意尝试jquery。
此版本有效:
<a href='$image'>
<img alt='No Image' src='$image' onError="this.parentNode.onclick=function() {return(false);}">
</a>
你可以在这里看到它的作用:http://jsfiddle.net/jfriend00/2jb4G/
或者,使用一个可以在多个地方使用的通用功能:
<script>
function blockParentLink() {
this.parentNode.onclick = function() {return(false);}
}
</script>
<a href='$image'>
<img alt='No Image' src='$image' onError="blockParentLink()">
</a>
就我个人而言,我认为如果它不显示而不是阻止点击,那么隐藏它可能是有意义的:
<a href='$image'>
<img alt='No Image' src='$image' onError="this.parentNode.style.display = 'none';">
</a>
您可以在此处看到隐藏版本:http://jsfiddle.net/jfriend00/KVUUM/
Disable=true对我不起作用
这些做了(使用parentNode!)
InnerHTML和onclick:
<a href='#'><img alt='No Image' src='$image'
onError="this.parentNode.onclick=function(){return false};
this.parentNode.innerHTML='Image not available'"></a>
或者删除它:
<a href='$image'><img alt='No Image' src='$image'
onError="var lnk= this.parentNode; lnk.parentNode.removeChild(lnk)"></a>
或者替换它:
<a href='$image'><img alt='No Image' src='$image'
onError="var lnk= this.parentNode;
lnk.parentNode.replaceChild(document.createTextNode('No image'), lnk)"></a>
演示
这是我发现的一小段代码,可能对有用
<img src="http://www.someurl.com/image.gif" height="100" width="100" onerror="alert('Image missing')">
您可以调用jquery函数来删除超链接,而不是ALERT。如果您需要Jquery函数的帮助,请告诉我!
相关文章:
- 我发现了一些只在移动设备上可见的垃圾邮件链接,我可以'找不到包含此垃圾邮件链接的脚本的位置
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- 在npm链接后找不到命令
- 正在将javascript值附加到gridview超链接.为什么我的代码没有任何想法'不起作用
- 我找不到使用量角器选择此链接的方法
- 轨道:找不到文件“提前输入.js”.直到我删除“数据涡轮链接”
- 内部链接返回空错误,我在 Javascript 中找不到错误.外部链接工作得很好
- 使用超链接而不是提交按钮提交 AJAX 表单时出现问题
- 如果找不到图像,请禁用锚点或超链接
- 通过javascript到新页面的超链接不起作用
- 找不到符号链接
- grunt是如何继续构建的,即使是grunt contrib符号链接也是如此;找不到路
- toggleClass在超链接上不起作用
- 如何使用jquery将超链接列添加到表中
- 通过中介函数使用超链接而不是按钮来提交表单是不起作用的
- 将超链接文本添加到特定行的ui-grid中
- 多次点击超链接,不应该打开多个选项卡/窗口.只有一个窗口.TAB应该打开
- 让网站中的所有超链接都不起作用
- 超链接图像不显示Chrome扩展
- 将文本和超链接图像添加到表格单元格