可以直接使用数组的indexOf方法来判断,如果元素存在于数组中,那么返回元素在数组中的下标值,如果不存在,那么返回-1,但是该方法在某些版本的IE中是不起作用,所以建议使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1,代码如下所示:
/*** 使用jquery的inArray方法判断元素是否存在于数组中
* @param {Object} arr 数组
* @param {Object} value 元素值
*/
function isInArray2(arr,value){
var index = $.inArray(value,arr)
if(index >= 0){
return true
}
return false
}
这在IE浏览器中往往会弹出一个js错误提示框,影响用户体验。所以比较好的做法是,在访问页面元素的属性或方法之前,先判断此页面元素是否存在。function f(elementId) {var obj = document.getElementById(elementId)if(obj) {// 相关操作}}上面的代码是先通过document.getElementById()去获取指定的页面元素,然后通过if(obj)判断页面元素是否存在,如果存在则进行相关操作。通过dom对象的id进行判断举例:
1
2
3
4
var a = document.getElementById('dom对象的id')//通过getelementbyid方法获取dom节点
if(a){//如果a非null,则表示获取到了dom对象
//存在
}
补充:
getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。