Javascript 为什么.text().replace()会删除我的html?

Javascript 为什么.text().replace()会删除我的html?,javascript,jquery,replace,Javascript,Jquery,Replace,为什么和之间有区别?我怎样才能得到前面的第一个相同id的元素,这是错误的。因此,您的替换只能使用第一个元素 第二个是text()函数,用于剥离标记并仅返回第一个节点的文本内容,即:旧文本。当您使用text()func设置文本时,jquery认为您希望节点只包含文本,,因此: <p id="boohoo">New Text</p> 没有重复的ID-这是不允许的。改用类。它将只返回一个结果。不能对多个元素使用相同的“id”值。.text()用于文本,而不是html。它将用您


为什么
之间有区别?我怎样才能得到前面的
第一个相同id的元素,这是错误的。因此,您的替换只能使用第一个元素

第二个是text()函数,用于剥离标记并仅返回第一个节点的文本内容,即:
旧文本
。当您使用text()func设置文本时,jquery认为您希望节点

只包含文本,因此:

<p id="boohoo">New Text</p>

没有重复的ID-这是不允许的。改用类。它将只返回一个结果。不能对多个元素使用相同的“id”值。.text()用于文本,而不是html。它将用您传递给它的任何内容替换所选元素的内容,如api中所述。为什么您需要
text()
部分?只需调用
replace()
我尝试了类,但这不会删除
标记或保留
标记。为什么?好吧,我想我明白了。除了不删除html之外,是否还有其他方法可以操作文本?是的,以包含文本的元素为目标。是否有其他方法可以以父元素为目标进行操作,因为我不知道元素内部或旁边是什么html?(也就是说,它可能类似于我的应用程序中的
这里有一些单词……
,我想在不删除所有其他标记的情况下定位并替换
应用程序
。基本上我不知道调用text()会删除该元素中的所有html。我想这是我的问题。
var x = $('#boohoo').text().replace('Old', 'New'); 
function whyNotBold() {
    $('#boohoo').text(x); 
}
<p id="boohoo">New Text</p>
var x = $('b').text().replace('Old', 'New'); 

function whyNotBold() {
    $('b').text(x); 
    $('h4').text(x); 
}
setTimeout(whyNotBold, 300);