5

我的网站使用jQuery 1.4.2。问题是.replaceWith()在IE6中不起作用& jQuery 1.4.2中的IE7。 IE6 &在jQuery 1.4.2中支持IE7的替代方法吗?jQuery .replaceWith()备用

的小提琴是在这里: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 2011-12-20 02:33:48

+0

无法修改核心页面...为什么我要经历整个障碍。 – henryaaron 2011-12-20 02:48:36

+0

@ user1090389:啊,这很有道理。好吧,祝你好运! :) – Purag 2011-12-20 02:49:12

-4

这是一个PHP函数的直接JS实现,它应该满足您的需求。

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

+1

这是一个完全不必要的措施,以实现这个简单而简单的任务。 – Purag 2011-12-20 02:39:53

+0

我的网站不是PHP – henryaaron 2011-12-20 02:48:09

+0

@ user1090389那不是PHP,它的JS。它是一个PHP函数的JS版本。 Purmou,当然它不必要,但它仍然有效,只是建议一种替代解决方案。 – TamDenholm 2011-12-20 04:54:12

1

这是另一个窍门。替换前可以清空元素。

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