2017-05-30 49 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