IE8 中 JavaScript 字符串比较

标签 javascript string internet-explorer comparison string-comparison

我正在尝试比较两个字符串,由于某种原因,我得到的结果是“false”。

我已将代码分解为最简单的函数:

<script type="text/javascript">
function selectCat(cat) {
    var catName = cat.firstChild.nodeValue;
    alert(catName);
    if(catName.toString() == "Acronyms") {
        alert("True");
    } else {
        alert("False");
    }
}
</script>
</head>

<body>
<ul>
<li onclick="selectCat(this)">Acronyms</li>
</ul>
</body>

这在 Dreamweaver 的实时 View 以及 IE8 中运行得很好(当我按 F12 进行预览时)。但是,当我将此页面上传到公司的 Web 内容管理器 (IBM WebSphere Portal) 时,它不再起作用。

我不知道环境之间有什么不同,但这非常令人沮丧。任何人都知道为什么它可能不将类别名称视为字符串?

最佳答案

出于某种原因,IE 在 nodeValue 末尾包含一个额外的空格,即您实际得到的是“缩写词”。

编辑: 要删除尾随空格,您可以添加

if(catName.charAt(catName.length-1) == " "){
    catName = catName.substr(0,catName.length-1);
}

关于IE8 中 JavaScript 字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745536/

相关文章:

internet-explorer - 一个reg如何通过批处理文件将十六进制值添加到Internet设置?

css - 从 IE 打印时缺少字符

javascript - 视频元素控件上未触发单击事件

javascript - 模态下拉列表

javascript - 如何解析存储在数组中的数据

c - 在c中读取字符串时内存覆盖

javascript - Canvas 上的透明多边形

javascript - 使用搜索字符串来定位单元格

c# - 复合字符串格式的 String.Format 变量

internet-explorer - CSS3 站点不能在 IE 中运行。即使是IE10