Safari浏览器不支持element.querySelector querySelectorAll这两个原生的dom选择器?
document.querySelector可以运行
element.querySelector 会提示"undefiend function querySelecotr"
你们有遇到这个问题吗?
代码如下,是在mac OSX 10.10.5 safari 9.1.1 下运行这段JS。
var
dealers = TOOLKIT.objectToArray(document.querySelector('.order-panel').querySelectorAll('.panel-default')),//这里正常,因为dom对象是document
avaliable_dealers = dealers.filter(function(dealer_item){
var
js_product = TOOLKIT.objectToArray(dealer_item.querySelectorAll('.js_product'));
return js_product.some(function(js_product_item){
return js_product_item.querySelector('.js_checkbox').checked;
});
});
....
TOOLKIT.objectTOArray是将dom对象强制转换成数组的一个方法,代码如下:
TOOLKIT.objectToArray = function(obj){
var
arr = [],
index,
type = typeof(obj);
if(type == 'object' && !Array.isArray(obj)){
for(index in obj){
if(obj.hasOwnProperty(index)){
arr.push(obj[index])
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
支持的哦^_^
当然,你浏览器版本未知哈!
你可以在Safari中打开这个页面,打开调试模式,点击“调试器”,输入:
你就会看到输出结果。
我个人猜测,是你第一级获取dom对象就出了问题。
支持的。
class前面加
id前面加
就跟使用jQuery一样