我想知道如何在div中查找和替换某些文本,但我想找到并替换该文本的第二次出现。例如:“你刚刚添加了一个项目,请删除此项目”,所以我想找到第二个“项目”并用我选择的任何文本替换它。
JS:
var compareCount = $('.compareWidget').find('.compareItem').length;
if (compareCount >= 2) {
$('.message').find('.count').text(compareCount);
$('message').html().replace('item', 'items');
}
$('.message').slideDown("Fast");
setTimeout(function () {
$('.message').slideUp("Fast");
}, 5000);
HTML:
<div id="alertMessage">
<div class="message">
<span>You just added a item to compare, you currently have <span class="count">1</span> item to compare</span>
</div>
</div>
答案 0 :(得分:2)
“您目前有1项要比较” 您想将项目转换为项目吗?
您可以使用正则表达式执行此操作,也可以将其包装到元素中并抓住它。
<span class="count">1</span> <span class="type">item</span> to compare</span>
和
$('.message').find('.type').text("items");
答案 1 :(得分:2)
使用正则表达式
function replaceMatch(originalString, searchFor , replaceWith, matchNumber)
{
var match = 0;
return originalString.replace(searchFor, function(found){
match++;
return (match===matchNumber)?replaceWith:found;
},'g');
}
并将其称为
var msg = $('.message');
msg.html( replaceMatch( msg.html(), 'item', 'items', 2) );