我已经使用下面的代码来替换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);
wi3ka0sx1#
不要修改原始的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' );
最好的解决方案是,您可以向span添加一个类,或者可靠地区分它们,以便选择器是明确的。
1条答案
按热度按时间wi3ka0sx1#
不要修改原始的HTML字符串,修改DOM。
你也可以通过背景颜色来选择,但这并不可靠。问题很可能是移动电话上的Safari没有将颜色保存为rgb(),而是保存为十六进制格式,所以类似这样的方法可能会起作用:
最好的解决方案是,您可以向span添加一个类,或者可靠地区分它们,以便选择器是明确的。