jquery - 选择下拉框选项时交换类

标签 jquery css class drop-down-menu

我有一个下拉框,其中包含“垂直”和“水平”选项。

<select class="nav-select">
    <option id="one" value="1">Vertical</option>
    <option id="two" value="2">Horizontal</option>
</select>

当从下拉框中选择一个选项时,我希望它将类“body-wrap horizo​​ntal-nav”更改为“body-wrap vertical-nav”。

<div class="body-wrap vertical-nav">

到目前为止,我已经编写了一些 jQuery,但似乎无法让它工作。谁能告诉我哪里出错了?

$(document).ready(function () {

    if ($('.nav-select option').hasId("two")) {
        $("body div").addClass('body-wrap horizontal-nav');       
    } 
    else if ($('.nav-select option').hasId("one") {
        $("body div").addClass('body-wrap vertical-nav');
    }

});

最佳答案

我不认为 hasID() 是一个真正的 jQuery 函数。

无论如何,即使是这样,那也是错误的方法:您只在 $(document).ready() 上检查一次。每次选择更改时都应该检查,可能是这样的:

$('.nav-select').change(function() {
  if ($(this).val() == 1) {
    $('div.body-wrap').removeClass('horizontal-nav').addClass('vertical-nav');
  } else {
    $('div.body-wrap').removeClass('vertical-nav').addClass('horizontal-nav');
  }
}

关于jquery - 选择下拉框选项时交换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15966155/

相关文章:

javascript - 添加 n 删除表中具有元素唯一 id 的行

css - 使用 CSS 在特定单词上使用 Word Break

javascript - 放大缩小到多张照片

c++ - C++中类声明的范围是什么?

jquery - 使用 Zurb Foundation 框架进行浏览

javascript - 如何排序隐藏一个 div 然后使用 jQuery 动画显示另一个?

javascript - JavaScript Promises 解决了哪些编程障碍?或者说它们到底是什么?

css - 如何将 TTF 文件转换为 OTF 格式?

javascript - 如何在javascript中将一个类的属性复制到另一个类,包括方法

python - 找出类中某个字段的多个定义