0

我用下面的代码替换了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);
4

1 回答 1

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' );

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

于 2013-04-24T09:51:52.427 回答