5

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

скрипку здесь: 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>'); 
}); 

ответ

7
$("element").after("text to replace element with").remove(); 

Example.

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

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

+0

Работы! Спасибо. – henryaaron

+0

Невозможно изменить основные страницы ... почему я преодолеваю все это препятствие. – henryaaron

+0

@ user1090389: Ах, это имеет смысл. Ну удачи! :) – Purag

-4

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

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

+1

Это совершенно ненужная мера для достижения этой простой, простой задачи. – Purag

+0

Мои сайты не PHP – henryaaron

+0

@ user1090389 Thats not PHP, его JS. Его JS-версия функции PHP. Пурмоу, конечно, его ненужное, но все еще актуальное, просто предлагало альтернативное решение. – TamDenholm

1

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

$(document).ready(function(){ 
    $(selector).empty().replaceWith('...'); 
});