jquery 替换在iPad中不起作用,如何在iPad中使用替换?

t2a7ltrp  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(108)

我已经使用下面的代码来替换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);
wi3ka0sx

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添加一个类,或者可靠地区分它们,以便选择器是明确的。

相关问题