我使用下面的代码替换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);
答案 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' );
最好的解决方案是,如果你可以在跨度中添加一个类,或者可靠地区分它们,那么选择器将是明确的。