4

我有一个产品列表,我想通过输入参数来搜索产品列表。所以我用它contains来扫描产品列表中的输入字符串。它在网页上工作正常。但是当我在移动网页中打开同一页面时,它不起作用。并给出一个“包含”未定义的错误。

if(productlist[i].name.toLowerCase().contains(input_val.toLowerCase()))

    --my business logic--

之后,我尝试过indexOf它在两种情况下都可以正常工作。

if(productlist[i].name.toLowerCase().indexOf(input_val.toLowerCase()) !== -1)
    --my business logic --

.contains 有什么问题??

4

1 回答 1

2

使用这个 Polyfill,(参考:MDN

if(!('contains' in String.prototype)) {
  String.prototype.contains = function(str, startIndex) { 
      return -1 !== String.prototype.indexOf.call(this, str, startIndex); 
  };
}

请参阅我可以使用...中的兼容性表

更新:你也可以检查这个答案

于 2013-07-20T18:31:47.393 回答