2013-05-06 64 views
0

我有一个窗体,通过单击“a.flipLink”在“登录”和“恢复密码”窗体之间切换。 h2最初被设置为具有文本“登录”,我想在第一次单击“a.flipLink”时将其更改为“恢复”,并在第二次单击时返回到“登录”,以显示适当的标题与其相关的形式。这看起来应该可以工作,并且它在第一次点击时发生变化,但在第二次点击时不会变回“登录”。在点击功能中发行带有三元运算符的问题

$('.flipLink').click(function(e){ 
    formContainer.toggleClass('flipped'); 
    $('h2#LogIn').text($('#LogIn').text() == 'Log In' ? 'Recover Password' : 'Log In'); 
    e.preventDefault(); 
}); 

Id并没有为每个'a.flipLink'定义一个点击处理程序 - 但它们确实有单独的ID。重新循环,H2最初是“登录”点击“a.flipLink”应该改为“恢复密码”(可以做),然后再次点击它应该改回“登录”基本上应该只是之间切换文本“登录” 和 “找回密码” THX

然而,这工作:

if ($('h2#LogIn').text() == "Log In") 
    $('h2#LogIn').text('Recover Password') 
else 
    $('h2#LogIn').text('Log In'); 
+3

适合我。 http://jsfiddle.net/fBSX7/ – jbabey 2013-05-06 18:48:42

+0

它只是第一次启动,我不得不走这条路线: if($('h2#LogIn')。text()==“Log In”) $( ''h2#LogIn')。text('Recover Password') else $('h2#LogIn')。text('Log In'); – 2013-05-06 18:50:06

+1

不要尝试在评论中放置代码,编辑您的问题。 – Barmar 2013-05-06 18:50:40

回答

4

有你的页面上有两个元素具有相同的ID:

<a id="LogIn" href="LogIn.php" target="_self">Log In</a></p> 
... 
<h2 id="LogIn" class="center">Log In</h2> 

更改h2 ID的东西独特的,改变各自的jquery选择器,它会正常工作。