1

我创建了一个 CSS 切换器,但我只需要更改带有class="red"for 的元素body。我该怎么做?

<html>
    <head>
        <jdoc:include type="head" />
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script src="/js/modernizr-2.0.6.custom.min.js"></script>
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script src="/js/jquery.cookies.2.2.0.min"></script>
    </head>
    <body class="front">
        <select class="style-change">
            <option value="red">Red</option>
            <option value="blue">Blue</option>
            <option value="green">Green</option>
        </select>
        <script>
            $(function(){
                $('.style-change').change(function(){
                    $('link[rel="stylesheet"]')
                        .attr("href", $(this).val() + ".css");
                });
            });
        </script>
    </body>
</html>

演示Here

4

3 回答 3

1

您可以使用它来更改主体的类。

document.body.className="red"
于 2013-08-29T14:13:58.437 回答
0

如果您更喜欢直接的 javascript,Moazzam 的回答应该可以解决问题。如果你更喜欢使用 jQuery,你可以使用这个:

$('body').removeClass().addClass('red');

或者,为了将其概括为与下拉列表一起使用,请执行以下操作:

$(function(){
    $('.style-change').change(function(){
        $('body').removeClass().addClass($(this).val());
   });
});
于 2013-08-29T14:20:48.200 回答
0

如果你只想改变body标签类,更新jquery函数:

$('.style-change').change(function(){
    $('body').removeClass();
    $('body').addClass($(this).val());
});

http://jsfiddle.net/mF9qm/

于 2013-08-29T14:25:43.200 回答