2017-05-30 47 views
1

我試圖檢查包含在div標題中的文本是否與我在text.indexOf()函數中的內容匹配,如果是這樣,它將在控制檯上打印「true」,如果不是,則會打印「false」。 我不想檢查文本是否完全匹配,我只想看看「EUR」是否包含在Div內。 這裏是我的網頁對象的代碼文件Aurelia e2e:text.indexOf()不正確地比較字符串與包含在div中的字符串

this.checkIfEur = function(eur) { 
 
    var checkCurrency = element(by.className("m-l-sm")); 
 
     checkCurrency.getText().then(function (text) { 
 
      if (text.indexOf("EUR">= 0)) { 
 
       console.log("true"); 
 
      } 
 
      else if (text.indexOf("EUR"<= 0)){ 
 
       console.log("false"); 
 
      } 
 
      }); 
 
};

<div class="currencies"> 
       <span>Opening Currency</span> 
       <span class="m-l-sm"> 
       <b>EUR 1,000</b> 
       </span><span class="m-l-sm">` 
       <b>GBP 5,000</b> 
       </span><!--anchor--> 
     </div> 

的問題是,如果我是用zzzzzzz更換EUR控制檯仍然會打印「真」。我想要被接受的文字似乎並不重要,它總是會打印出真實的。

我可能做這完全錯了,任何幫助表示讚賞

回答

2

而不是

if (text.indexOf("EUR">= 0)) 

應爲(注意關閉父母的位置)

if (text.indexOf("EUR")>= 0) 
+0

感謝例子您的幫助! – Edmond

1

更具體,如果你想檢查「EUR」是否在一個字符串中,並且你正在使用這個

if (text.indexOf("EUR") >= 0) { 
    console.log("true"); 
} else if (text.indexOf("EUR") <= 0){ 
    console.log("false"); 
} 

,你就能更好地運用這個

if (text.indexOf("EUR") > -1) { 
    console.log("true"); 
} else{ 
    console.log("false"); 
} 

,或者如果你只是想記錄的結果,你可以做到這一點

console.log("Found EUR in string:", text.indexOf("EUR") > -1); 

,也看到了indexOf

+0

非常感謝您的幫助,我很高興知道自己在正確的軌道上,令人沮喪的是它是由一些如此之小的東西造成的! – Edmond