Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery text()未与字符串进行比较_Javascript_Jquery - Fatal编程技术网

Javascript jquery text()未与字符串进行比较

Javascript jquery text()未与字符串进行比较,javascript,jquery,Javascript,Jquery,我正在使用javascript根据用户角色隐藏一些列表项 我从列表项的text()获取角色。当我将$(“#activeUser”).text()值与字符串进行比较时,它不起作用 我在javascript中使用的HTML块,用于获取列表项的text()值 <ul class="pull-right breadcrumb"> <li><a href="index.php">Home</a> <span class="divider"&g

我正在使用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>
但是如果我使用alert看到var testRole的值,它会打印Guest

我尝试使用testRole.toString()/string(testRole)方法将testRole值转换为字符串,但没有任何帮助


请让我知道,我错在哪里。谢谢。

尝试使用
$修剪字符串。修剪($(“#activeUser”).text())

元素中似乎有空格。

您需要修剪字符串开头和结尾的空格:

var testRole = $("#activeUser").text().replace(/^\s+|\s+$/g,'');
你可以在这里看到原因:


问题似乎是从
$(“#activeUser”).text()接收到的值中有额外的空格

解决方案: 必须修剪该值,然后将其用于比较,如下所示:

var testRole = $("#activeUser").text().trim();

以上任何一项都可以

更多关于jQuery trim的信息,请访问

空白测试:
如果要测试是否获得额外的空格,请尝试以下javascript代码:

alert("-" + $("#activeUser").text() + "-");
如果得到“”,则接收值中没有空格。
但是如果你在
之后或之前得到空格,那么这些都是空格,会破坏你的聚会。

伙计,首先你必须做什么,这是写正确的选择器

$("#request_history_li").hide();
$("#assign_role_li").hide();
你可以写

$("#request_history_li, #assign_role_li").hide();
或者您可以添加这些元素的相同类,这是正确的

<ul>
    <li class="same_class 1"></li>
    <li class="same_class 2"></li>
</ul>
好吗?下一步:

至于您的问题,js的加载早于您确定的角色,请使用

$(document).ready(function(){
  ......
});

非常感谢你。当我遇到这个问题时,我认为空白区可能是问题所在,但修剪力对我没有影响。谢谢你的额外提示。谢谢你提到“我认为这对我很有用。”。
$("#request_history_li").hide();
$("#assign_role_li").hide();
$("#request_history_li, #assign_role_li").hide();
<ul>
    <li class="same_class 1"></li>
    <li class="same_class 2"></li>
</ul>
$(".same_class").hide();
$(document).ready(function(){
  ......
});