javascript - 干 - 嵌套 if 语句

标签 javascript if-statement

我是编码新手,但一直在阅读有关 DRY - 不要重复自己的内容。

我有一个不适合 DRY 方法的 JavaScript if/else 语句,但我无法练习如何编写 JavaScript if/else 语句以使内容不重复。

我希望有比我聪明的人可以向我展示。

这是我的代码:

    {% if user.get_profile.subscription_category == '00' %}

        $('#id_name_details_prefix_title').addClass('kmw-disabled');

        $('#id_name_details_first_name').addClass('kmw-disabled');

        $('#id_name_details_middle_name').addClass('kmw-disabled');

        $('#id_name_details_last_name').addClass('kmw-disabled');

        $('#id_name_details_suffix_title').addClass('kmw-disabled');

    {% else %}

        {% if user.get_profile.display_virtual_keyboard %}

            $('#id_name_details_prefix_title').removeClass('kmw-disabled');

            $('#id_name_details_first_name').removeClass('kmw-disabled');

            $('#id_name_details_middle_name').removeClass('kmw-disabled');

            $('#id_name_details_last_name').removeClass('kmw-disabled');

            $('#id_name_details_suffix_title').removeClass('kmw-disabled');

        {% else %}

            $('#id_name_details_prefix_title').addClass('kmw-disabled');

            $('#id_name_details_first_name').addClass('kmw-disabled');

            $('#id_name_details_middle_name').addClass('kmw-disabled');

            $('#id_name_details_last_name').addClass('kmw-disabled');

            $('#id_name_details_suffix_title').addClass('kmw-disabled');

        {% endif %}

    {% endif %}

第一个 if 的内容在第二个 if 语句的 else 中重复 - 我希望我只需要写一次重复的内容。

最佳答案

您可以将选择器放入数组中

var selectors = [#id_name_details_prefix_title', '#id_name_details_first_name' ...];

然后添加/删除类

$(selectors.join(',')).addClass('kmw-disabled')

关于javascript - 干 - 嵌套 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27654693/

相关文章:

javascript - 显示另一个页面中 2 个下拉菜单中的条目

javascript - AngularJS:ngClass的格式

javascript - 如何将数组属性写入 DOM 元素数组

javascript - PHP超时后自动关闭窗口

python - def - else 语句不起作用

r - 单元格大于零或无穷大

javascript - 鼠标悬停时 Reactstrap 自动下拉菜单

linux - 如果文件为空,将文本写入第一行

c - 在 C 中使用一长串 "if/else if"语句的更好替代方案?

java - Java 中的基本 Hangman 游戏(主要涉及字符串操作)