我在项目中使用了jQuery .contain()方法,它在Firefox中可以正常工作,但在Google Chrome中却报错。我的代码如下所示:

if (txtsearchvalue.contains('-')) {
  var Arraytxtsearchvalue = [];
  Arraytxtsearchvalue = txtsearchvalue.split('-');
}



  未捕获的TypeError:对象17-331-250251-92没有方法“包含”


在Chrome 47中,错误消息为:


  未捕获的TypeError:txtsearchvalue.contains不是函数

最佳答案

jQuery有一个contains()方法,但是它并不像您认为的那样起作用。具体来说,它不适用于文本。 jQuery还有一个:contains选择器,它更接近于您想要的...

就是说,我怀疑是字符串而不是jQuery对象。 FireFox具有txtsearchvalue方法,而Chrome没有。

Mozilla针对其非标准方法(MDN)提供了一个polyfill:

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

07-28 07:25