我正在使用 javascript 根据用户角色隐藏一些列表项。
我从列表项的text()
. 当我将$("#activeUser").text()
值与字符串进行比较时,它不起作用。
我在我的 javascript 中使用的 HTML 块来获取列表项的 text() 值。
<ul class="pull-right breadcrumb">
<li><a href="index.php">Home</a> <span class="divider">/</span> </li>
<li id="activeUser" class="active"> <?php echo ucfirst($_SESSION['sewafs_user_role']); ?> </li>
</ul>
Javascript
$(document).ready(function () {
var testRole = $("#activeUser").text();
//This block of code works
role = 'Guest';
if (role == 'Guest') {
alert("Inside if");
$("#request_history_li").hide();
$("#assign_role_li").hide();
$("#volunteer_li").hide();
$("#profile_li").show();
$("#change_password_li").show();
}
//This doesn't work why?
if (testRole == 'Guest') {
alert("Inside if");
$("#request_history_li").hide();
$("#assign_role_li").hide();
$("#volunteer_li").hide();
$("#profile_li").show();
$("#change_password_li").show();
}
});
但是,如果我使用 alert 看到 var testRole 的值,它会打印 Guest。
我尝试使用 testRole.toString() / string(testRole) 方法将 testRole 值转换为字符串,但没有任何帮助。
请让我知道,我哪里出错了。谢谢。