【问题标题】:I can't add a class in jquery won't work我不能在 jquery 中添加一个类不起作用
【发布时间】:2014-07-25 17:46:01
【问题描述】:

大家好,如果用户单击按钮但他不想进入我的功能,我想添加一个类。这是代码:

他在第一行停止的事件正常工作,但他不会添加一个他直接跳到我的函数末尾的类

$("#ok").click(function(){
    $("select option:selected").addClass("chosen");
});

ok 是我的按钮,选择的是 css 类,对吗?如果是这样,您知道为什么它不起作用吗? 谢谢

【问题讨论】:

  • 您能否重新表述您的问题以使其清楚..?
  • 你的函数在哪里。请显示你的完整代码。
  • 请提供正确的html代码?
  • 我想该类已正确添加,但是 option 元素上的样式属性非常有限,因此 UI 可能不会改变。
  • 你怎么知道没有添加类

标签: jquery css


【解决方案1】:

你可以这样做; http://jsfiddle.net/8pSmr/1/

注意:它不会改变悬停颜色默认值 - 但会改变选项属性;

更新

我在Neophyte's 的回答中注意到,如果您更改了选择,它并没有将类删除到选项中,这可能会导致一些用户体验混乱。此方法将删除选项,并且仅将样式赋予唯一且最近选择的选项

Javascript

$('button').click( function() {
    $('#options').find(":not(:checked)").removeClass('chosen');
    $('#options').find(":selected").addClass('chosen');
});

HTML

<select name="" id="options">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<button>Confirm select</button>

CSS

.chosen {
    color: red;
    background: yellow;
}

【讨论】:

    【解决方案2】:

    检查这个。它可能会帮助你

    Fiddle

    $('#options').change( function() {
    $('#options').find(":selected").addClass('chosen');
    });
    

    【讨论】:

    • 谢谢,这正是我的问题,但它不会进入函数我发出警报它不会成功
    • 您选择的id 是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2013-10-01
    相关资源
    最近更新 更多