1

这是我的台词:

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');
4

3 回答 3

3

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

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

你可能需要修剪它

或者 HTML 实体在那里。

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

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

于 2012-10-01T12:54:15.900 回答
1

你不是在比较两个字符串。

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

myArray[i] === x
于 2012-10-01T12:49:57.640 回答
0

看起来您应该比较myArray[i]而不是myArray[i].innerText,因为这是您分配的内容。myArray[i].innerText总是 yield undefined, ifmyArray[i]是一个字符串(除非你正在做一些奇怪的原型设计)。

于 2012-10-01T12:49:53.257 回答