4

我有以下H2:

<h2 id="resetPWSuccess">Password reset instructions have been sent to *|RESETPASSWORDEMAIL|*</h2>

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

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

$('h2#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', emailAddress).show();

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

4

5 回答 5

10

改用这个:

$('#resetPWSuccess').text(
   $('#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', emailAddress)
).show();

请注意,我还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 );
于 2013-06-11T08:08:02.157 回答
4

我建议采用不同的方法:

<h2 id="resetPWSuccess">Password reset instructions have been sent to <span id="resetPWemail"></span></h2>

以及对应的js:

$('#resetPWemail').text(emailAddress);
$('#resetPWSuccess').show();
于 2013-06-11T08:12:46.920 回答
2

就这样使用。

$('#resetPWSuccess').text(
  $('#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', 'neeraj@gmail.com')
)

见演示演示

于 2013-06-11T08:12:08.237 回答
2

试试这个

$("#resetPWSuccess").text(
  $('#resetPWSuccess').text().
     replace('*|RESETPASSWORDEMAIL|*', $("#EmailID").val()))
于 2013-06-11T08:12:14.033 回答
2

你甚至可以简单地做到这一点

 <h2 id='resetPWSuccess'></h2>

 $('h2#resetPWSuccess').text('Password reset instructions have been sent to '+emailaddress).show();
于 2013-06-11T08:15:05.700 回答