Javascript-如果(…)在Firefox和Safari中的评估不同

Javascript-如果(…)在Firefox和Safari中的评估不同,javascript,Javascript,因此,我在代码中遇到了一个非常奇怪的问题,即在safari中平等性被认为是错误的(尽管变量实际上是相等的),而在Firefox中相同的平等性评估被认为是正确的。使用调试工具几个小时后,唉,我来到了这里 我有一个简单的功能: function determineChosenLevel(){ var x = document.getElementById("level").children[1].innerText; return x; } 然后我在这里使用它: var level = d

因此,我在代码中遇到了一个非常奇怪的问题,即在safari中平等性被认为是错误的(尽管变量实际上是相等的),而在Firefox中相同的平等性评估被认为是正确的。使用调试工具几个小时后,唉,我来到了这里

我有一个简单的功能:

function determineChosenLevel(){
  var x = document.getElementById("level").children[1].innerText;
  return x;
}
然后我在这里使用它:

var level = determineChosenLevel();
console.log(level);
if(level === "GCSE"){
// do some things
}else if(level === "A Level"){
// do some things
}

现在我在Firefox上运行这段代码,在Firefox上返回GCSE,if语句if(level==“GCSE”)计算为true,相应的代码计算成功

然而。。。。在狩猎旅行中,情况并非如此。我在Safari工具的第二个代码段和控制台的第一行代码上添加了一个断点。log(level)确实记录了GCSE
GCSE
,但计算机决定将if语句求值为false,并跳过//do some things

所附图像显示了Safari浏览器调试工具中的级别。唯一的一线希望是,普通中等教育证书旁边似乎有一些奇怪的箭头,这可能就是为什么平等不成立的原因,但我不是很确定

任何帮助都将不胜感激


元素有一个换行符,如下所示:

<div id="el">text
</div>
文本

您的
级别
中有一个返回/换行字符,这就是字符串末尾的箭头所表示的。所以它并不完全等于GCSE
trim()
您的字符串可以在comparing@PatrickEvans好的,这让我松了一口气。这是如何产生的,以便我将来可以避免它?为什么在Safari而不是Firefox中会出现这种情况?箭头是一个换行符号。@codenoob您能显示HTML中
level
元素的位置吗?