jQuery .replaceWith () альтернативный - PullRequest
5 голосов
/ 20 декабря 2011

Мой сайт использует jQuery 1.4.2.Проблема в .replaceWith() не работает в IE6 и IE7 в jQuery 1.4.2.Есть ли альтернативный метод, который поддерживается IE6 и IE7 в jQuery 1.4.2?

Скрипка здесь: http://jsfiddle.net/8CEwf/1/

Я знаю, это может показаться, что jQuery неприкреплен к нему, но если вы посмотрите в HTML, jQuery там, поскольку jsFiddle не предлагает версию 1.4.2

HTML:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<img src="/v/vspfiles/templates/cyberfront/images/buttons/btn_addtocart_small.gif">
<input type="image" src="/v/vspfiles/templates/cyberfront/images/buttons/btn_go_gray.gif">
<img src="/v/vspfiles/templates/cyberfront/images/Bullet_MoreInfo.gif">

Сценарий:

$(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">');
$('img[src="/v/vspfiles/templates/cyberfront/images/Bullet_MoreInfo.gif"]').replaceWith('<span class="learnmore">Learn More</span>');
});

Ответы [ 3 ]

7 голосов
/ 20 декабря 2011
$("element").after("text to replace element with").remove();

Пример .

Мы просто выбираем элемент, который хотим заменить, добавляем текст после него и удаляем его из DOM.

Если предположить, что это для функции "Добавить в корзину" на вашем веб-сайте, и что все входные данные будут иметь схожие атрибуты src, то почему бы вам просто не добавить к ним класс, чтобы сделать выбор проще?

1 голос
/ 16 января 2014

Вот еще один трюк. Вы можете очистить элемент перед заменой.

$(document).ready(function(){
     $(selector).empty().replaceWith('...');
});
0 голосов
/ 20 декабря 2011

Это прямая реализация JS функции PHP, которая должна удовлетворять вашим потребностям.

http://phpjs.org/functions/str_replace:527

...