Оба if и else выполняют Javascript / jQuery

#javascript #jquery #asp.net

#javascript #jquery ( jquery ) #asp.net #jquery

Вопрос:

2-й оператор if работает хорошо, но первый всегда выполняется с оператором else и никогда не бывает одиноким

вся эта функция jquery находится внутри другой функции, которая вызывается внутри «$(document).команда «готово

просто использовал console.log(), чтобы выяснить, в чем проблема, но, к сожалению, понятия не имею об этом

 $("#pager").on("click", "li", function () {

    if ($(this)[0] == $("#pager > li:first-child")[0]) {
        console.log("first")
        selected--;
    }

    if ($(this)[0] == $("#pager > li:last-child")[0]) {
        console.log("last")
        selected  ;
    }

    else {
        console.log("numbers")
        selected = $(this).html();
    }
});
  

Ответ №1:

Ваш второй if должен быть else if вот почему.

 $("#pager").on("click", "li", function () {

    if ($(this)[0] == $("#pager > li:first-child")[0]) {
        console.log("first")
        //selected--;
    }

    else if ($(this)[0] == $("#pager > li:last-child")[0]) {
        console.log("last")
        //selected  ;
    }

    else {
        console.log("numbers")
        //selected = $(this).html();
    }
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id=pager><li>test</li></ul>