我有一组图像,我希望源在鼠标悬停时更改。我的代码在除IE 7和8之外的所有内容中都能正常工作 - 当我将鼠标悬停在图像上时,它只会变为损坏的图像链接。
我的代码是:
$(".socialicon").each(function() {
$(this).find("img")
.mouseover(function() {
var src = $(this).attr("src").match(/[^\.]+/) + "hover.png";
$(this).attr("src", src);
})
.mouseout(function() {
var src = $(this).attr("src").replace("hover.png", ".png");
$(this).attr("src", src);
});
});
有人知道我是否有必要改变以便在IE 7和8中使用它?
答案 0 :(得分:2)
你应该在IE7& 8上进行调试 - 使用鼠标在元素上输入后,$(this).attr("src")
和src
属性具有该元素的值是多少?我想,IE可能会返回图像的绝对路径,例如“http://example.com/image.png” - 在这种情况下,您的RegEx将无效。
为什么不打电话
var src = $(this).attr("src").replace(".png", "hover.png");
而不是
var src = $(this).attr("src").match(/[^\.]+/) + "hover.png";
对于mouseout
方法,这将更加一致。