我正在使用asp MVC 5创建一个登录/关闭按钮我已经设置好了,如果有人登录,会话[" isLoggedIn"]会显示不同的文本。
现在我需要编写JQuery代码,分别为登录页面或注销添加href。
这是我的Jquery
<script type="text/javascript">
$(document).ready(function () {
if ($("#loginLogoff").text("sign out"))
$("#loginLogoff").attr("href", "javascript:document.getElementById('logoutForm').submit()");
else
$("#loginLogoff").attr("href", "/Home#login_popup");
});
</script>
我可以在加载时将其更改为注销页面。然而,它并没有触发其他声明 我尝试过不同的关键词,但都无济于事
.val()
.text()
.html()
html块在c#
中看起来像这样<li style="padding-top:10px;text-align:right;"><strong>@Session["LoginStatus"]</strong> | <a id="loginLogoff" style="display:inline;"> @Session["logInOffToggle"]</a></li>
并使用格式化的html
<li style="padding-top:10px;text-align:right;"><strong>not Logged In</strong> | <a id="loginLogoff" style="display:inline;"> Login</a></li>
答案 0 :(得分:2)
Else-Block永远不会运行,因为jQuery方法.text(&#34; String&#34;)设置调用它的结果列表的文本并返回相同的结果列表。所以在你的情况下,这总是正确的,因为非空列表的评估为真。
您希望使用不带参数的.text()方法来获取文本。
你应该像这样改变你的状况:
if ( $("#loginLogoff").text() === "sign out" ) {
...
}