【问题标题】:Two conditions for two different variables with jQuery使用jQuery的两个不同变量的两个条件
【发布时间】:2013-01-29 09:19:16
【问题描述】:

我有这个功能:

settings_rc_left.on('click', function(){
    var settings_list_last_element_id_one = settings_menu_element.attr('id') == 'r_02',
        settings_list_last_element_id_two = settings_menu_element.attr('id') == 'l_02';
    if (settings_menu_element.first().attr('id') === settings_list_last_element_id_one) {
        return false;
    }
    else if (settings_menu_element.first().attr('id') === settings_list_last_element_id_two) {
        return false;
    }
    else {
        renumPrev()
    }
});

和 html,这是一个简单的列表,对于两个条件,我将 id 更改为 l_02,...在其他函数中,...:

<ul id="settings_content_menu">
    <li id="r_02" class="">data</li>
    <li id="r_03" class="">data</li>
    <li id="r_04" class="">data</li>
    <li id="r_05" class="">data</li>
    <li id="r_06" class="">data</li>
    <li id="r_07" class="">data</li>
    <li id="r_08" class="">data</li>
    <li id="r_09" class="">data</li>
</ul>

我正在尝试做的是针对两个不同条件的停止函数取决于两个不同的变量,如果不是真的启动这个函数。有点不对劲,你能帮帮我吗?

【问题讨论】:

  • 请显示您的 HTML 以及 settings_menu_element 是什么。如果无法理解或理解您要执行的操作,我们将无法调试您的代码。还请说明您的事件处理程序的目标。
  • 您知道您将settings_list_last_element_id_onesettings_list_last_element_id_two 设置为布尔值truefalse?因此,将它们与ifelse 条件下的id 进行比较可能没有意义......

标签: javascript jquery click attr


【解决方案1】:

据此:

var settings_list_last_element_id_one = settings_menu_element.attr('id') == 'r_02'

变量settings_list_last_element_id_onetruefalse。如果您不使用 truefalse 作为 ID(我希望您不使用),则以下内容永远不会正确:

settings_menu_element.first().attr('id') === settings_list_last_element_id_one

【讨论】:

  • 这可能不是唯一的错误,因为 settings_menu_element.attr('id')settings_menu_element.first().attr('id') 看起来可能有一个错误。
【解决方案2】:

我设法解决了这个问题,这是解决方案:

settings_rc_left.on('click', function(){
    var settings_list_last_element_id_one = settings_menu_element.attr('id') == 'r_02',
        settings_list_last_element_id_two = settings_menu_element.attr('id') == 'l_02';
    if (settings_list_last_element_id_one || settings_list_last_element_id_two) {
        return false;
    }
    else {
        renumPrev()
    }
});

【讨论】:

    猜你喜欢
    • 2020-11-27
    • 1970-01-01
    • 2019-05-11
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多