与jQuery比较HTML文本内容

4

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

<div id="systemRoleIndicator" style="display: none;">
    <p>Z</p>
</div>

我可以使用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>

为什么会这样呢?我是不是漏掉了一些关于字符串比较的内容?
1个回答

6

#systemRoleIndicator 的文本还会返回 p 节点附近的前导和尾随空格。它返回的文本是 " Z " 而不是 "Z"。您需要将其与 p 元素的文本进行比较。

var role = $("#systemRoleIndicator p").text();

还可以修剪#systemRoleIndicator的文本内容:

var role = $("#systemRoleIndicator").text().trim();

啊,那就很有道理了。谢谢! - Cliff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接