将HTML文本内容与jQuery进行比较

Cli*_*iff 4 html javascript jquery

我有一个页面,其中特定div显示用户的"系统角色"的ID,如下所示:

<div id="systemRoleIndicator" style="display: none;">
    <p>Z</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以用jQuery检测到这个值很好,但我似乎无法实际使用它.例如,我从未在此代码中收到完成消息:

<script src="/scripts/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    var role = $("#systemRoleIndicator").text();
    alert("Your role is: " + role); //displays proper value
    if (role == "Z") {
        alert("Code completed!");
    }
</script>
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我错过了比较字符串的内容吗?

Mil*_*war 6

文本for #systemRoleIndicator也将返回p节点附近的前导和尾随空格.它返回文本" Z "而不是"Z".你需要与p元素的文本进行比较:

var role = $("#systemRoleIndicator p").text();
Run Code Online (Sandbox Code Playgroud)

或修剪文本内容#systemRoleIndicator:

var role = $("#systemRoleIndicator").text().trim();
Run Code Online (Sandbox Code Playgroud)