2013-04-24 86 views
0

我用下面的代码替换html,它在浏览器中工作,但不能在ipad safari浏览器中工作如何解决这个问题?Javascript,替换不工作在iPad中,如何使用替换在iPad中?

var text=$('#content_area').html(); 
var text2=text.replace('<span style="background-color: rgb(233, 207, 236);">proposes</span>' 
, 'proposes'); 
$('#content_area').html(text2); 
+0

'范围'是什么? – VisioN 2013-04-24 09:41:07

+0

其在js中的var类似var range ='proposals'.. – 2013-04-24 09:42:12

+0

您是否在移动Safari的Javascript控制台中看到任何错误?你可以在Settings> Safari> Developer中启用它(或类似的东西)。 – Uooo 2013-04-24 09:44:38

回答

3

你在做错了。不要修改原始HTML字符串,修改DOM。

$('#content_area span:contains("proposes")').replaceWith('proposes'); 

可以通过背景颜色选择为好,但它不是那么可靠。问题是最有可能的是,移动Safari不保留颜色RGB(),但在十六进制格式,所以这样的事情可能工作:

$('#content_area span').filter(function() { 
    return ($(this).css('background-color') === 'rgb(233, 207, 236)' 
      || $(this).css('background-color').toLowerCase() === '#e9cfec'); 
}).replaceWith('proposes'); 

最好的解决办法是,如果你可以添加一个类跨度或以其他方式可靠地区分它们,以便选择器将是明确的。

+0

感谢Juhan我心爱的代码工作..与您的解决方案:) – 2013-04-24 10:08:40