我有以下HTML:
<a href="myPage.htm">
<img src="anImage.jpg />
</a>
<a href="yourPage.htm">
<img src="anotherImage.jpg />
</a>
<a href="everyonesPage.htm">
<img src="stillAnotherImage.jpg />
</a>
以下javascript(使用jQuery):
$(document).ready(function(){
$('a').live('click', function(e){
e.preventDefault();
alert($('img', this).attr('src'));
});
});
在Firefox中,这会警告单击图像的src属性,但在IE7和IE6中,它会警告“未定义”。任何想法为什么以及如何在单击相关锚标记时返回图像的src?
编辑: 对不起伙计们,这里的jsFiddle示例(http://jsfiddle.net/wabqw/)包含原始代码(是的,上面的代码是简化版)。适用于Chrome,但没有IE(Firefox无法显示图像,因此无法点击!)。
答案 0 :(得分:5)
我怀疑您的HTML可能存在问题,因为您缺少引号:
<img src="anImage.jpg />
应该是
<img src="anImage.jpg" />
不同的浏览器可能以不同的方式处理此问题
对我而言,在Chorme中,它肯定不适用于这个JSFiddle:http://jsfiddle.net/apKdC/,但是当我在这个更新的小提琴中修改引号时:http://jsfiddle.net/apKdC/1/一切正常。
答案 1 :(得分:2)
真正的问题是在版本9之前,Internet Explorer无法识别未知元素,例如您正在使用的HTML5元素。
您可以在<head>
:
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
有关背景信息,请阅读:http://paulirish.com/2011/the-history-of-the-html5-shiv/
这是一个可以做到这一点的页面,适用于IE6 / 7:http://jsbin.com/izina3
答案 2 :(得分:0)
你没有正确的html语法,请在第一张图片中看到src属性丢失“ http://jsfiddle.net/HwmEK/1/在这里看到它的工作
答案 3 :(得分:0)
我可能完全偏离这里,但你不应该:
alert($('img', $(this)).attr('src'));
所以 $(this)不是this