Javascript,替换不在ipad中工作,如何在ipad中使用替换?

时间:2013-04-24 09:39:49

标签: javascript jquery javascript-events

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

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

1 个答案:

答案 0 :(得分:3)

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

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

也可以选择背景颜色,但它不那么可靠。问题很可能是Mobile Safari没有将颜色保持为rgb(),而是以十六进制格式保存,所以这样的东西可能会起作用:

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

最好的解决方案是,如果你可以在跨度中添加一个类,或者可靠地区分它们,那么选择器将是明确的。