现在虽然大多数现代浏览器支持document.querySelectorAll()
,但您可能会遇到旧版Internet Explorer的问题。检查浏览器是否支持函数的显而易见的方法是:
if(document.querySelectorAll){
//some random code
}
但据我所知,某些浏览器(IE8)不支持某些属性,例如“body *
”。有没有更好的方法来检查document.querySelectorAll('body *')
是否真的有效?
答案 0 :(得分:5)
document.querySelectorAll
会抛出任何不受支持的选择器,因此您只需使用try-catch
块。
答案 1 :(得分:2)
是否支持浏览器支持,没有try-catch
function supportsQuerySelectors() {
return (document['querySelector']&&document['querySelectorAll'])!=null;
}
或
function supportsQuerySelectors2(){
return typeof(document['querySelector'])=='function'&&typeof(document['querySelectorAll'])=='function';
}
thanx:http://htmlgoodies.com/beyond/javascript/using-javascripts-css3-selectors.html
答案 2 :(得分:-2)
使用 typeof 进行检查:
if(typeof(document.querySelectorAll) != 'undefined'){
//some random code
}