Упрощение if-оператора jQuery - PullRequest
       12

Упрощение if-оператора jQuery

0 голосов
/ 07 декабря 2018

У меня работает этот оператор if в jQuery.Есть ли более простой / изящный или менее повторяющийся способ написать это?

«Если foo виден, добавьте этот элемент HTML в #message, иначе добавьте этот другой элемент HTML в #message.»

$(document).ready(function() {
    var $foo= $('#something');
    if ($foo.is(':visible')) {
        $('#message').html('<strong>Yes</strong>, message one.');
    }
    else {
        $('#message').html('<strong>No</strong>, message two.');
    }
});

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вы можете установить некоторые переменные для переменных частей сообщения, а затем подставить их в.

$(document).ready(function() {
    var $foo= $('#something'), yesno, msgnum;
    if ($foo.is(':visible')) {
        yesno = 'Yes';
        msgnum = 'one';
    }
    else {
        yesno = 'No';
        msgnum = 'two';
    }
    $('#message').html(`<strong>${yesno}</strong>, message ${msgnum}.`);
});

Это делает параллелизм более четким.

0 голосов
/ 07 декабря 2018

это уже небольшой кодовый блок, и я не думаю, что возможно много упрощений, но здесь вы можете определить элемент $('#message') в предыдущей строке и использовать его в нескольких местах

$(document).ready(function() {
    var $foo= $('#something');
    var $messageBlock = $('#message');

    var $toShow = ($foo.is(':visible'))? '<strong>Yes</strong>, message one.' : '<strong>No</strong>, message two.';
    $messageBlock.html($toShow);

});
...