0

現在、私はjavascriptを使用して、ドロップダウンメニューでの選択に基づいて新しいスタイルシートをロードするスタイルシートスイッチャーを持っています。

javascriptの代わりにjQueryを使用するようにコードを書き直したいと思います。誰か助けてもらえますか?私はjQueryソリューションを探し回っていますが、ドロップダウンメニューを利用しないものはたくさんあります。これは私のコードです:

<head>

<link href="colour/light.css" rel="stylesheet" type="text/css">

<script type="text/javascript">
function changeScheme()
{ var _head = document.getElementsByTagName('head')[0];
  var _link = document.createElement('link');
_link.type = 'text/css';
_link.href = colour.colour.options[colour.colour.selectedIndex].value;
_link.rel = 'stylesheet';
_head.appendChild(_link);
}
</script>

</head>
<body>

<form action="#" name="colour" id="colour" onsubmit="return false;">
              <select name="colour" onchange="changeScheme();">
                <option value="colour/light.css">Light scheme</option>
                <option value="colour/dark.css">Dark scheme</option>
              </select>
            </form>

</body>

助けてくれてありがとう!

4

2 に答える 2

0
<head>

<link href="colour/light.css" rel="stylesheet" type="text/css" id="stylelink">

<script type="text/javascript">
function changeScheme()
{ 
  $('#stylelink').attr('href',$('#colourselector').val());
}
</script>

</head>
<body>

    <form action="#" name="colour" id="colour" onsubmit="return false;">
          <select id="colourselector" name="colour" onchange="changeScheme();">
            <option value="colour/light.css">Light scheme</option>
            <option value="colour/dark.css">Dark scheme</option>
          </select>
    </form>
</body>
于 2012-04-05T09:21:14.507 に答える
0

ソリューションを100%jQueryにするため(提案されたStefanのように)

<head>
<link href="colour/light.css" rel="stylesheet" type="text/css" id="stylelink">

<script type="text/javascript">
$('#colourselector').change(function(){ 
  $('#stylelink').attr('href',$(this).val());
});
</script>

</head>
<body>
    <form action="#" name="colour" id="colour" onsubmit="return false;">
          <select id="colourselector" name="colour">
            <option value="colour/light.css">Light scheme</option>
            <option value="colour/dark.css">Dark scheme</option>
          </select>
    </form>
</body>
于 2012-04-05T11:43:01.677 に答える