我想使用鏈接標記將一些CSS注入頭部。我能得到這個很容易地使用工作在現有CSS鏈接之前將CSS鏈接注入頭部
var linkNode = document.createElement('link');
linkNode.href = '"+ jqueryTablesorterCSS_URL +"';
linkNode.type = 'text/css';
linkNode.rel = 'stylesheet';
documentHead.appendChild(linkNode);
但是我想還有一個已經存在的鏈接標籤是在頭部的最後一個項目,因爲它需要優先考慮。我無法控制這個其他鏈接標記,並且它已經存在於頁面上。
通過找到像這樣移動另一個元素似乎並不奏效。
var documentHead = document.head;
var customCSSNode = documentHead.querySelector("link[href$='custom.css']");
documentHead.appendChild(customCSSNode);
作爲一個方面說明,當你使用注射JS,其他人會已經被瀏覽器加載的,所以使得它之前不會改變任何東西。 – MoustafaS
也許你也可以通過將CSS/JS鏈接放入head部分並將其默認設置爲disabled並僅通過javascript處理啓用/禁用它來實現。 – denchu
這是正確的,我真的不關心順序,以及各種CSS文件的優先順序。通常這是由頁面加載時的順序控制的。追加新文件會導致它們加載並應用。如果您閱讀已經加載的CSS文件,這似乎不是真的。它不會重新應用。 –