Elbette. Açıkçası, sadece CSS kullanmak daha iyi olurdu, ancak yapamıyorsanız, sahip olduklarınızı kullanın. CSS ile mümkün olduğunca çok şey yapın ve gerektiği kadar JS kullanın. Mevcut CSS'yi neden değiştiremediğinizden emin değilsiniz, ancak JS ile bir stil sayfası ekleyebilirsiniz.
(function() {
//create a new element
var newStyle = document.createElement("link");
//set the required attribute for a valid css file
newStyle.rel = "stylesheet";
newStyle.href = "http://example.com/the/location/of/your/css/stylesheet.css";
//and then append it to the <head>
document.getElementsByTagName("head")[0].appendChild(newStyle);
})();
Kaynak: http://christian-fei.com/add-stylesheets-after-the-head-using-javascript/
sonra CSS / medya sorguları ile çıldırmak.
Veya jQuery ile:
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">');
Bazı şeyleri DOM değiştirmeden yapmanın mümkün olmadığı, duyarlı 'kaplamalar' yaptım. HTML'ye erişiminiz yoksa, bazen tek yanıt JS DOM manipülasyonudur.
DÜZENLEME:
Küçük ekran sürümünüzün görsel gereksinimlerine bağlı olarak, bu CSS snippet'inin 'mobil uyumlu' yol boyunca size ne kadar ulaşacağına şaşırabilirsiniz.
/* hopefully the original CSS developer didn't include a bunch of !importants.*/
div, p, ul, table, img {
float: none !important;
max-width: 96% !important; /* breathing room on the sides */
margin-left: auto
margin-right: auto;
}
Orijinal CSS geliştiricisi fazlasıyla düşkündüyse !important
ve HTML'ye erişemiyorsanız, gövdeye veya üst düzey konteynere bir kimlik eklemek ve bunu seçicinize eklemek için jQuery / JS kullanabilirsiniz.
#i-will-beat-you-important div,
#i-will-beat-you-important p,
#i-will-beat-you-important ul {
float: none !important;
...
}