一种方法(我强烈强烈建议您尽一切可能修改您的 HTML 以符合标准,只要让您的工作更容易,结果更可预测且跨浏览器兼容):
var text = 'image';
$('div[id="gridContainer"] p').each(function(i,e){
var self = e;
$(self).find('.deal-img').text(function(index,oldText){
return self['textContent' || 'innerText'].indexOf('Delivery') > -1 ? text : oldText;
});
});
JS 小提琴演示。
以上内容基于以下 HTML,因为您拒绝发布您自己的任何内容以帮助我们帮助您:
<div id="gridContainer">
<p>Delivery</p>
<p>Something else entirely</p>
</div>
<div id="gridContainer">
<p>Delivery <span class="deal-img">I have <em>no</em> idea about most of this question</span>
</p>
<p>Something else entirely</p>
</div>
<div id="gridContainer">
<p>Something else entirely</p>
</div>
<div id="gridContainer">
<p>Delivery <span class="deal-img">guessing where this element should go</span>
</p>
<p>Something else entirely</p>
</div>
参考: