我正在开发Chrome扩展程序来操作我无法控制的网页,因此我无法编辑现有的css类和HTML代码。基于以下示例,我试图在段落中的两个单词之间插入文本:
<p class="abc">
<b>Title:</b>The Second Title
<br>
<b>Author:</b>Mary White
<br>
<b>Date:</b>2004
</p>
<p class="abc">
<b>Title:</b>The First Title
<br>
<b>Author:</b>John Smith
<br>
<b>Date:</b>2003
</p>
我有一个名单列表,如:
Mary White - &gt; Mary B. White
John Smith - &gt;约翰·L·史密斯
我需要用全名替换名字和姓氏,即: 约翰史密斯 - &gt;约翰·L·史密斯
我尝试了以下内容:
$(".abc:contains('Mary White')").text(function () {
return $(this).text().replace("Mary White", "Mary B. White");
});
但删除了<b>
和<br>
html代码。
我也试过这个:
$(".htp:contains('John Smith')").replaceWith("John L. Smith");
但是它会替换整个p并用全名替换它。如何让它显示名称中包含中间名的段落?
答案 0 :(得分:3)
答案 1 :(得分:1)
这可能是你想要的:
$(function() {
$(".abc").each(function(idx, elm) {
elm.innerHTML = elm.innerHTML.replace("Mary White", "Mary B. White");
});
});