使用:contains()
:
$('.Status:contains("Pending")').text('Started');
或者,filter()
:
$('.Status').filter(function() {
return $(this).text() == 'Pending';
}).text('Started');
我想:contains
选择器更快。你可以在JSPerf自己检查
编辑
我自己做了测试。结果至少filter()
比 Chrome 快 64% :http: //jsperf.com/contains-vs-filter-rpm:contains
如果我想要动态文本(特定跨度的属性)而不是硬编码的“开始”怎么办?
<span class="Status" data-new-text="Started">Pending</span>
<span class="Status" data-new-text="Started">Completed</span>
<span class="Status" data-new-text="Started">Pending</span>
<span class="Status" data-new-text="Started">Started</span>
$('.Status').filter(function() {
return $(this).text() == 'Pending';
}).each(function() {
$(this).text($(this).data('new-text'));
};