4

How can I change a stylesheet using jquery in div tag on html? or what is the jquery code for changing stylesheets?

in javascript, we use the below code :

<script type="text/javascript">
 function changeStyle() {
 document.getElementById('stylesheet').href = 'design4.css';
 }
</script>

Is there a jQuery way?

gnarf
  • 105,192
  • 25
  • 127
  • 161
dimple
  • 41
  • 1
  • 3

4 Answers4

9

there are better ways to do what you're asking but if you really want to remove and add a remote stylesheet with jquery you can do this:

$('link[href^=old_css_file.css]').attr('href', '/path_to_new_css/file.css');

read more about the ^= attribute selector and the attr() function

Jared
  • 8,390
  • 5
  • 38
  • 43
1

For updating full theme it's best to load a new CSS file. Easiest done on the server side but if you insist on loading dynamically:

// Don't know jQuery, this is regular JS:
var newCss = document.createElement('link');

newCss.rel = 'stylesheet';
newCss.type = 'text/css';
newCss.href = '/path/to/new/cssfile.css';

document.body.appendChild(newCss);
slebetman
  • 109,858
  • 19
  • 140
  • 171
1
document.getElementById('stylesheet').href = 'design4.css';

using jQuery:

$("#styleshhet").attr('href', 'design4.css');
gnarf
  • 105,192
  • 25
  • 127
  • 161
0

I use this code to enable or disable a stylesheet based on a page.

 $(document).on('pagebeforeshow', function () {
        var URL = $.mobile.path.parseUrl(window.location).toString().toLowerCase();

        if (URL.indexOf("/investment.aspx") > -1 ||
            URL.indexOf("/employees.aspx") > -1) {
            $("link[href^='../../Public/LongLabels.css']").attr("media", "all");
        }
        else {
            $("link[href^='../../Public/LongLabels.css']").attr("media", "not all");
        }
    });
Carter Medlin
  • 11,857
  • 5
  • 62
  • 68