我只能訪問CMS的後端。他們這樣加載自定義樣式表如何使用JavaScript定位CSS鏈接
<link rel="stylesheet" media="(min-width:481px)" href=".../css/custom/styles.css" type="text/css">
我需要刪除media="(min-width:481px)"
。有沒有辦法做到這一點與JavaScript(我不認爲CMS使用jQuery)?
我只能訪問CMS的後端。他們這樣加載自定義樣式表如何使用JavaScript定位CSS鏈接
<link rel="stylesheet" media="(min-width:481px)" href=".../css/custom/styles.css" type="text/css">
我需要刪除media="(min-width:481px)"
。有沒有辦法做到這一點與JavaScript(我不認爲CMS使用jQuery)?
我個人不建議用JavaScript的一個鏈接的元素搞亂,但如果你仍然想這樣做,這應該工作:
document.querySelector('link[href=href=".../css/custom/styles.css"]').removeAttribute('media');
如果您仍然想這樣做,一定要等待CSS樣式加載。
如果你想要去的這個解決方案出於某種原因,並做了所有的鏈接標籤,那麼這一個很簡單:
var linkList = document.querySelectorAll('link');
for(var i in linkList) {
linkList[i].removeAttribute('media');
}
始終使用.removeAttribute
,而不是使用setAttribute
的參數設置爲null
。這通常是不好的做法。
當然有一種方法。它是否真的會做任何事情都是另一回事。在JavaScript有機會加載之前,樣式表將被加載(或不加載)。只需通過JavaScript加載樣式表,而不是搞亂現有的'link'元素,可能會更好。爲此,在SO上有很多答案,包括:http://stackoverflow.com/q/9979415/215552 –
那麼,什麼樣的CMS,只是解決後端問題會更容易。 – adeneo
我試過聯繫CMS提供商,他100%確定刪除'media =「(min-width:481px)」'不能完成。 – Heather