图像#.href在ie7中保持失败。这是为什么?

时间:2011-02-24 20:33:49

标签: javascript internet-explorer-7

这适用于Chrome,Firefox等,但不适用于IE7。我在第16行得到一个错误:“对象不支持此操作”。它似乎在这一行失败了:image0.href ='http://www.google.com';

if (document.images) {
image0 = new Image;
image1 = new Image;
image2 = new Image;
image3 = new Image;
image4 = new Image;
image5 = new Image;
image6 = new Image;
image7 = new Image;
image8 = new Image;

image0.src = '\/images\/image1.jpg' ;
image0.href = 'http://www.google.com';
image1.src = '\/images\/image2.jpg';
image1.href = 'http:\/\/www.google.com';
image2.src = '\/images\/image3.jpg';
image2.href = 'http:\/\/www.google.com';

image3.src = 'images\/image4.jpg';
image3.href = 'http:\/\/www.google.com';
image4.src = 'images\/image5.jpg';
image4.href ='http:\/\/www.google.com';
image5.src = 'images\/image6.jpg';
image5.href = 'http:\/\/www.google.com';

image6.src = 'images\/image7.jpg';
image6.href ='http:\/\/www.google.com';
image7.src = 'images\/image8.jpg';
image7.href = 'http:\/\/www.google.com';
image8.src = 'images\/image9.jpg';
image8.href = 'http:\/\/www.google.com';

} else {
image0 = '';
image1 = '';
image2 = '';
image3 = '';
image4 = '';
image5 = '';
image6 = '';
image7 = '';
image8 = '';
document.rollimg = '';
document.rollimg2 = '';
document.rollimg3 = '';
}

2 个答案:

答案 0 :(得分:2)

image0 = new Image;

构造函数是函数

image0 = new Image();

图片没有href属性,因此没有意义:

image0.href = 'http://www.google.com';

那些不好而不是破碎的东西。

image0 = new Image;
image1 = new Image;
image2 = new Image;

使用数组!

image0.src = '\/images\/image1.jpg' ;

/字符在JS字符串中没有特殊含义,不需要转义。

image0 = new Image;

全球是邪恶的。使用范围变量。

var image0 = new Image;

...并将它们限制在最适合您需要做的范围内。

答案 1 :(得分:0)

属性src是正确的。属性href不存在:图像不是链接。 Firefox和/或Chrome可能会默默地忽略这一点,但它无效。

请参阅this thread

此外,没有理由逃避正斜杠。