Javascript IE、Edge和Safari中document.queryselectoral的兼容性
参考答案: 请参考,答案链接仅在Firefox、Chrome和Opera中有效Javascript IE、Edge和Safari中document.queryselectoral的兼容性,javascript,internet-explorer,safari,microsoft-edge,selectors-api,Javascript,Internet Explorer,Safari,Microsoft Edge,Selectors Api,参考答案: 请参考,答案链接仅在Firefox、Chrome和Opera中有效 我做了一些研究,发现它(不区分大小写标志)不兼容。我需要IE、Edge和Safari方面的同等技能 var divs = document.querySelectorAll('div[class^="foo" i]'); 由于css级别4仍在草稿中,区分大小写选择器与大多数浏览器不兼容。您可以使用如下筛选方法: var divs = [].slice.call(document.querySelectorAll('
我做了一些研究,发现它(不区分大小写标志)不兼容。我需要IE、Edge和Safari方面的同等技能
var divs = document.querySelectorAll('div[class^="foo" i]');
由于css级别4仍在草稿中,区分大小写选择器与大多数浏览器不兼容。您可以使用如下筛选方法:
var divs = [].slice.call(document.querySelectorAll('div')).filter(function(el){
return el.className.match(/^foo/i);
});
更新:需要声明您现在可以使用css4选择器
document.querySelectorAll('div[class^="foo" i]');
请参阅以了解浏览器兼容性。由于css级别4仍在草稿中,所以区分大小写选择器与大多数浏览器不兼容。您可以使用如下筛选方法:
var divs = [].slice.call(document.querySelectorAll('div')).filter(function(el){
return el.className.match(/^foo/i);
});
更新:需要声明您现在可以使用css4选择器
document.querySelectorAll('div[class^="foo" i]');
请参阅以了解浏览器兼容性。这是CSS4,您现在不应该使用它,因为没有太多支持。我使用它时没有问题,但我现在不知道“I”是什么意思:所以请尝试document.querySelectorAll('div[class^=“foo”]”);这就是不区分大小写限定符。检查。“我做了一些研究,发现它不兼容。”你的研究结果表明这是querySelectorAll的问题,而不是大小写不敏感标志的问题吗?@BoltClock我的意思是,大小写不敏感标志与IE和Edge不兼容,因为CSS4。这就是为什么我引用了我的一个问题和答案。现在编辑。这是CSS4,您现在不应该使用它,因为没有太多支持。我使用它没有问题,但我现在不知道“I”是什么意思:所以请尝试document.queryselectoral('div[class^=“foo”]”);这就是不区分大小写限定符。检查。“我做了一些研究,发现它不兼容。”你的研究结果表明这是querySelectorAll的问题,而不是大小写不敏感标志的问题吗?@BoltClock我的意思是,大小写不敏感标志与IE和Edge不兼容,因为CSS4。这就是为什么我引用了我的一个问题和答案。现在编辑。我得到一个错误-
。过滤器不是一个函数。使用Chrome 52 x64.document.querySelectorAll返回一个数组,而不是数组。我想这可能就是问题所在。我已经编辑了答案。它起作用了。哦!我不在乎。谢谢。我收到一个错误-。过滤器不是一个函数。使用Chrome 52 x64.document.querySelectorAll返回一个数组,而不是数组。我想这可能就是问题所在。我已经编辑了答案。它起作用了。哦!我不在乎。谢谢