我有一个正在身体中调用的js文件。 jQuery不会在IE6,IE8和IE7中执行。这是文件内容:
$(document).ready(function(){
$('img[src="/v/vspfiles/templates/cyberfront/images/buttons/btn_addtocart_small.gif"]').replaceWith('<br /><span id="blackbutton" class="mediumbutton" style="display:block;">Add to Cart</span>');
$('input[src="/v/vspfiles/templates/cyberfront/images/buttons/btn_go_gray.gif"]').replaceWith('<input type="submit" class="graybutton smallbutton" name="Go" alt="Go" value="Go" title="Go">');
$('input.previous_page_img').attr({class: 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png'});
$('input.next_page_img').attr({class: 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png'});
$('img[src="/v/vspfiles/templates/cyberfront/images/Bullet_MoreInfo.gif"]').replaceWith('<span class="learnmore">Learn More</span>');
$('td[background="/v/vspfiles/templates/cyberfront/images/Divider_Horizontal.gif"]').remove();
$('td.v65-productRow-bottom').remove();
$('select').wrap('<div class="styled-select" />');
});
我应该把它放在头部而不是单独的文件中吗?我应该把文件调到脑袋里。我的标记有问题吗?
的 ---- ---- EDIT 的
我做了一个小提琴并在IE6,IE7&amp; IE8我已经确认它在这些浏览器中不起作用。小提琴:http://jsfiddle.net/2mJWF/
如果渲染得当,这将是最终结果
<body>
<br><span id="blackbutton" class="mediumbutton" style="display:block;">Add to Cart</span>
<input type="submit" class="graybutton smallbutton" name="Go" alt="Go" value="Go" title="Go">
<input type="image" src="/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png" class="graybutton mediumbutton">
<input type="image" src="/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png" class="graybutton mediumbutton">
<span class="learnmore">Learn More</span>
<table>
<tbody>
<tr>
</tr>
</tbody>
</table>
<div class="styled-select"><select>
<option>Hello</option>
</select></div>
</body>
判断它是否有效的最简单方法是看看你是否看到一条说Hllo Hello的行,如果你没有看到该行,它是否有效,如果你确实看到了它没有的行。
答案 0 :(得分:0)
您有class
作为不带引号的属性名称的对象文字。鉴于class
是JavaScript中的保留(for future use)字,IE可能不喜欢这样。试着把它放在引号中(单或双是好的):
// instead of
{class : "something"}
// try
{"class" : "something"}
...
$('input.previous_page_img').attr({"class": 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png'});
$('input.next_page_img').attr({"class": 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png'});
...
答案 1 :(得分:0)
在检查了那个小提琴上的JSLint之后,我发现设置class属性是无效的,所以我把它改为.addClass
。我更新的小提琴:http://jsfiddle.net/2mJWF/4/。