带有replace()的jQuery text()不会替换文本

Ada*_*dam 4 html jquery text replace

我有以下H2:

<h2 id="resetPWSuccess">Password reset instructions have been sent to *|RESETPASSWORDEMAIL|*</h2>
Run Code Online (Sandbox Code Playgroud)

我想*|RESETPASSWORDEMAIL|*用jQuery变量中的当前电子邮件地址替换emailAddress.

我尝试了以下但它不起作用:

$('h2#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', emailAddress).show();
Run Code Online (Sandbox Code Playgroud)

有没有办法更新h2文本 - 如果可能,我更喜欢一行.

Den*_*ret 10

请改用:

$('#resetPWSuccess').text(
   $('#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', emailAddress)
).show();
Run Code Online (Sandbox Code Playgroud)

请注意,我还h2从选择器中删除了它:它没有用,而且比使用id慢.当你要求jQuery搜索时#resetPWSuccess,它使用非常快的原生getElementById函数.

来自jQuery的源代码:

// Shortcuts
if ( (match = rquickExpr.exec( selector )) ) {
    // Speed-up: Sizzle("#ID")
    if ( (m = match[1]) ) {
        if ( nodeType === 9 ) {
            elem = context.getElementById( m );
Run Code Online (Sandbox Code Playgroud)