两个相等字符串的比较返回false

时间:2012-10-01 12:48:21

标签: javascript

这是我的专栏:

myArray[i].innerText == x

以下是Chrome控制台的值:

myArray [i] =" 13毫升阿波罗釉雪利酒松露250毫升"

x =" 13毫升阿波罗釉雪利酒松露250毫升"

myArray [i] .innerText == x返回false 为什么会这样?

以下是我定义myArray的方法:

myArray= $($('#myIframe').contents()).find('body#tinymce').find('p, li');

3 个答案:

答案 0 :(得分:3)

调试它,你很可能会有一些额外的空格字符。

console.log(escape(myArray[i].innerText));

您可能需要trim it

或者HTML实体在那里。

var replacedString = myArray[i].innerText.replace(/ /g," ");

如果您有一堆特殊字符,则需要全部替换它们。

答案 1 :(得分:1)

您没有比较两个字符串。

您正在将字符串与相同字符串的innerText属性进行比较

myArray[i] === x

答案 2 :(得分:0)

看起来您应该比较myArray[i]而不是myArray[i].innerText,因为这就是您指定的内容。 myArray[i].innerText总是会产生undefined,如果myArray[i]是一个字符串(除非你做了一些奇怪的原型设计)。