jQuery替换函数带html

jQuery替换函数带html,jquery,google-chrome-extension,Jquery,Google Chrome Extension,我正在开发一个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

我正在开发一个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>
但这会删除

html标记

我也试过:

$(".htp:contains('John Smith')").replaceWith("John L. Smith");
但这将替换整个p,并用全名替换它。我怎样才能让它显示包含中间首字母的段落名称?

因为它会删除标记并只提供文本

使用,但如果名称中有任何html标记,则代码将失败。

因为会删除标记并只提供文本


使用,但如果名称中有任何html标记,则代码将失败。

这可能是您想要的:

$(function() {
    $(".abc").each(function(idx, elm) {
        elm.innerHTML = elm.innerHTML.replace("Mary White", "Mary B. White");
    });
});​

这可能就是您想要的:

$(function() {
    $(".abc").each(function(idx, elm) {
        elm.innerHTML = elm.innerHTML.replace("Mary White", "Mary B. White");
    });
});​

这与你所看到的并不直接相关,但这很接近。这与你所看到的并不直接相关,但这很接近