js中使用indexOf()方法是提示(对象不支持此属性或方法)如何解决?

JavaScript023

js中使用indexOf()方法是提示(对象不支持此属性或方法)如何解决?,第1张

js中使用indexOf()方法是提示(对象不支持此属性或方法)解决办法:

“对象不支持此属性或方法” 表示 javascript对象没有这个方法,无法调用,比如

A.B() 当A对象没有B方法的时候,会报这个异常。

因为javascript是脚本语言,解释执行,所以只有在执行的过程中才会报错,而编译语言,像java,c等在编译的时候就会报错。

A.indexOf() 在原生JS中只能用于String对象,比如var s=“123”alert(s.indexOf("1")) // 不会报错

var s=123alert(s.indexOf("1")) // 报错,因为s是number,这时候你需要把s转换成string才可以运行。

如以上回答未解决问题,请尝试:

var parr = ["a","b","c","d"]

判断parr 数组中是否存在a

parr.indexOf("a")==-1 在ie8下会提示对象不支持indexOf属性或方法

解决办法:

用jquery里的$.inArray替代indexOf

$.inArray(“a”, parr)==-1

定义的$冲突了,看$(function( ) { $("#id").show( )})应该是引用了jQuery吧。如果是把a.js的改了用jQuery操作

var listLength = $("li", "#"+id).length

如果不是引用的jQuery,那你只能改其中的一个$ function,如function $(id) { return document.getElementById(id)}改成function $$(id) { return document.getElementById(id)}

还有jQuery中可以把$映射回原始的对象使用jQuery.noConflict()如果这样的话,$(function( ) { $("#id").show( )})就得写成$(function( ) { jQuery("#id").show( )})