Jquery如果包含文本
本文关键字:文本 包含 如果 Jquery | 更新日期: 2023-09-27 18:03:37
我正在使用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>
我可以让它在加载时更改为注销页面。然而,它永远不会触发else语句我试了不同的关键词,都没有用
.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>
Else-Block永远不会运行,因为jQuery方法。text("String")设置了它所调用的结果列表的文本,并返回了相同的结果列表。所以在你的例子中,这总是为真,因为非空列表的值为真。
您希望使用不带参数的.text()方法来获取文本。
你应该这样改变你的条件:
if ( $("#loginLogoff").text() === "sign out" ) {
...
}