Javascript-如果(…)在Firefox和Safari中的评估不同
因此,我在代码中遇到了一个非常奇怪的问题,即在safari中平等性被认为是错误的(尽管变量实际上是相等的),而在Firefox中相同的平等性评估被认为是正确的。使用调试工具几个小时后,唉,我来到了这里 我有一个简单的功能:Javascript-如果(…)在Firefox和Safari中的评估不同,javascript,Javascript,因此,我在代码中遇到了一个非常奇怪的问题,即在safari中平等性被认为是错误的(尽管变量实际上是相等的),而在Firefox中相同的平等性评估被认为是正确的。使用调试工具几个小时后,唉,我来到了这里 我有一个简单的功能: function determineChosenLevel(){ var x = document.getElementById("level").children[1].innerText; return x; } 然后我在这里使用它: var level = d
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)确实记录了GCSEGCSE
,但计算机决定将if语句求值为false,并跳过//do some things
所附图像显示了Safari浏览器调试工具中的级别。唯一的一线希望是,普通中等教育证书旁边似乎有一些奇怪的箭头,这可能就是为什么平等不成立的原因,但我不是很确定
任何帮助都将不胜感激
元素有一个换行符,如下所示:
<div id="el">text
</div>
文本
您的级别
中有一个返回/换行字符,这就是字符串末尾的箭头所表示的。所以它并不完全等于GCSEtrim()
您的字符串可以在comparing@PatrickEvans好的,这让我松了一口气。这是如何产生的,以便我将来可以避免它?为什么在Safari而不是Firefox中会出现这种情况?箭头是一个换行符号。@codenoob您能显示HTML中level
元素的位置吗?