0

我在 div 的标签中有 3 个按钮,如下所示。

<div id="make_larger">
<button type="button">Large</button> 
</div>
<div id="make_small">
<button type="button">Smaller</button> 
</div>
<div id="make_normal">
<button type="button">Normal</button> 
</div>

我想当我点击“大”按钮时,它的颜色应该变成蓝色(使用 .selected 的 CSS 类)。Jquery 代码如下。

$('#make_larger').bind('click', function () {
        $('body').addClass('large');
        $('body').removeClass('normal');
        $('body').removeClass('smaller');
        $(this).addClass('selected');

     });

但它不起作用。颜色没有改变。为什么?

请提供任何帮助。

4

3 回答 3

0

将最后一行更改为

$(this).children('button').addClass('selected');
于 2012-08-08T08:31:08.283 回答
0

HTML

<div id="make_larger">
    <button type="button">Large</button>
</div>
<div id="make_small">
    <button type="button">Smaller</button>
</div>
<div id="make_normal">
    <button type="button">Normal</button>
</div>
<style type="text/css">
    .selected{background:blue}
</style>

查询

$('#make_larger').click(function() {
     $('#make_larger button').addClass('selected');
});

演示http://jsfiddle.net/mRwMt/10/

于 2012-08-08T08:32:25.167 回答
0

你给包含 div 选择的类,而不是按钮。请参阅此 jsfiddle:http: //jsfiddle.net/AFNJ9/

当然,您可以使用 css 执行以下操作: .selected button {background:blue;}这将使按钮的背景变为蓝色。

在我看来,使用“on”很好:“on”和“live”或“bind”有什么区别?

于 2012-08-08T08:32:49.013 回答