我有以下H2:
<h2 id="resetPWSuccess">Password reset instructions have been sent to *|RESETPASSWORDEMAIL|*</h2>
我想将*|RESETPASSWORDEMAIL|*
替换为jQuery变量emailAddress
中的当前电子邮件地址。
我尝试过以下操作但不起作用:
$('h2#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', emailAddress).show();
有没有办法更新h2文本 - 如果可能,我更喜欢一行。
答案 0 :(得分: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 );
答案 1 :(得分:4)
我建议采用不同的方法:
<h2 id="resetPWSuccess">Password reset instructions have been sent to <span id="resetPWemail"></span></h2>
和相应的js:
$('#resetPWemail').text(emailAddress);
$('#resetPWSuccess').show();
答案 2 :(得分:2)
像这样使用。
$('#resetPWSuccess').text(
$('#resetPWSuccess').text().replace('*|RESETPASSWORDEMAIL|*', 'neeraj@gmail.com')
)
参见演示Demo
答案 3 :(得分:2)
试试这个
$("#resetPWSuccess").text(
$('#resetPWSuccess').text().
replace('*|RESETPASSWORDEMAIL|*', $("#EmailID").val()))
答案 4 :(得分:2)
你甚至可以简单地这样做
<h2 id='resetPWSuccess'></h2>
$('h2#resetPWSuccess').text('Password reset instructions have been sent to '+emailaddress).show();