Почему этот jQuery не выполняется в IE6? - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть файл 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" />');
});

Должен ли я поместить это в голову, а не в отдельный файл?Должен ли я назвать файл в голове.Есть ли проблема с моей разметкой?

---- РЕДАКТИРОВАТЬ ----

Я сделал скрипку и протестировал ее в IE6, IE7 и 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Здравствуйте, если вы не видите эту строку, она сработала, если вы видите строку, которую не увидела.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

После проверки JSLint на этой скрипке я обнаружил, что установка атрибута класса недопустима, поэтому я изменил его на .addClass.Моя обновленная скрипка: http://jsfiddle.net/2mJWF/4/.

0 голосов
/ 19 декабря 2011

У вас есть объектные литералы с class в качестве имени свойства без кавычек.IE может не понравиться, учитывая, что class является зарезервированным ( для будущего использования ) словом в JavaScript.Попытка поместить это в кавычки (единственное или двойное хорошо):

// 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'});
...

http://jsfiddle.net/2mJWF/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...