Aurelia e2e:text.indexOf()不正确地比较string和div中包含的string

我试图检查包含在div标题中的文本是否与我的text.indexOf()函数中的内容匹配,如果是,它将在控制台上输出“true”,如果不是,它将打印“假'。 我不想检查文本是否完全匹配,我只想看看“EUR”是否包含在Div内。 这是我的页面对象文件中的代码

this.checkIfEur = function(eur) { var checkCurrency = element(by.className("ml-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="ml-sm"> <b>EUR 1,000</b> </span><span class="ml-sm">` <b>GBP 5,000</b> </span><!--anchor--> </div> 

问题是,如果我用zzzzzzzreplaceEUR ,控制台仍然会打印“true”。 我想要被接受的文本似乎并不重要,它总是会打印出真实的。

我可能做这个完全错误的,任何帮助表示赞赏

代替

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

应该是(注意封闭父母的地位)

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

更具体地说,如果你想检查“EUR”是否在一个string中,而你正在使用它

 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"); } 

或者如果你只想logging结果,你可以这样做

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

,另请参阅indexOf的示例