參考答案:https://stackoverflow.com/a/38399344/5132413兼容性和Safari
請參考my question,答案只在火狐,Chrome和Opera鏈接above作品。
我做了一些研究,發現它(不區分大小寫的標誌)不兼容。我需要在IE,Edge和Safari中使用相同的功能。
var divs = document.querySelectorAll('div[class^="foo" i]');
參考答案:https://stackoverflow.com/a/38399344/5132413兼容性和Safari
請參考my question,答案只在火狐,Chrome和Opera鏈接above作品。
我做了一些研究,發現它(不區分大小寫的標誌)不兼容。我需要在IE,Edge和Safari中使用相同的功能。
var divs = document.querySelectorAll('div[class^="foo" i]');
由於css level 4仍在草稿中,所以區分大小寫的選擇器與大多數瀏覽器不兼容。你可以使用這樣的過濾方法:
var divs = [].slice.call(document.querySelectorAll('div')).filter(function(el){
return el.className.match(/^foo/i);
});
我收到一個錯誤 - '.filter不是函數'。使用Chrome 52 x64。 –
https://postimg.org/image/ygyziart3/:/ –
document.querySelectorAll返回一個[NodeList](https://developer.mozilla.org/en-US/docs/Web/API/NodeList),而不是'array'。我想這可能是問題。我編輯了答案。有用。 –
這是CSS4,你不應該使用它,因爲沒有太多的支持。 – TyrionGraphiste
我使用它沒有問題,但我現在不是什麼「我」是:因此請嘗試document.querySelectorAll('div [class^=「foo」]'); – Wolfgang
這是不區分大小寫限定符。檢查[這是](https://stackoverflow.com/questions/38399089/ignoring-case-sensitiveness-in-queryselectorall/)[answer](https://stackoverflow.com/a/38399344/5132413)。 –