2012-10-01 217 views
1

這是我的線:比較返回false

myArray[i].innerText == x 

下面是從鉻控制檯的值:

myArray的[I] =「13毫升阿波羅釉雪利酒的Trüffel250毫升」

X = 「13毫升阿波羅釉雪利酒的Trüffel250毫升」

myArray的[I] .innerText == X返回false 這是爲什麼?

這是我如何定義數組myArray:

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

回答

2

調試它的innerText財產,你最有可能有它的一些額外的空格字符。

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

您可能需要trim it

或者HTML實體在那裏。

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

如果您有一堆特殊字符,則需要將它們全部替換。

+0

你說得對。但是我沒有額外的空間,但是第一個字符串有空格,第二個字符串有空格。如何使第二個字符串替換爲「」的nbsp? –

+0

編輯了這個問題。 – epascarello

+0

然後比較再次返回false。 –

0

看起來你應該比較myArray[i]而非myArray[i].innerText,看到這是你分配給什麼。 myArray[i].innerText將始終產生undefined,如果myArray[i]是一個字符串(除非你正在做一些奇怪的原型)。

1

你沒有比較兩個字符串。

您比較字符串用相同的字符串

myArray[i] === x 
+0

它返回false:S –

+1

myArrey [i]是一個HTMLParagraphElement –

+0

當我基於您提供的代碼構造[示例](http://jsfiddle.net/Bkrnu/)時,它不會返回false。 – Quentin

相關問題