[英]jQuery attr in IE7
我有以下 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 无法显示图像,因此没有可点击的内容。)。
我怀疑您的 HTML 可能有问题,因为您缺少引号:
<img src="anImage.jpg />
应该
<img src="anImage.jpg" />
不同的浏览器可能会以不同的方式处理这个问题
对我来说,在 Chorme 中,它在这个 JSFiddle 中肯定不起作用: http://jsfiddle.net/apKdC/ ,但是当我在这个更新的小提琴中修复引号时: http://jsfiddle.net/apKdC/1/一切正常。
真正的问题是,在第 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
您没有正确的 html 语法请参阅第一个图像中的 src 属性丢失“ http://jsfiddle.net/HwmEK/1/在这里查看它的工作
我在这里可能完全偏离轨道,但你不应该:
alert($('img', $(this)).attr('src'));
所以$(this)不是this
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.