Jquery если значение <= что-то не работает - PullRequest
0 голосов
/ 23 апреля 2020

Помогите мне, пожалуйста, понять, почему не работает эта часть кода. Я пытаюсь стилизовать блок в зависимости от переменной, но эта часть не работает.

var starsrating = 3;

    function markstars() {

        if (jQuery(starsrating).val() >= 1) {
            jQuery("div.rating-star1").addClass("rating-star-active");
             console.log("1");
        }
        if  (jQuery(starsrating).val() >= 2) {
            jQuery("div.rating-star1, div.rating-star2").addClass("rating-star-active");
             console.log("2");
        }
        if  (jQuery(starsrating).val() >= 3) {
            jQuery("div.rating-star1, div.rating-star2, div.rating-star3").addClass("rating-star-active");
             console.log("3");
        }
        if  (jQuery(starsrating).val() >= 4) {
            jQuery("div.rating-star1, div.rating-star2, div.rating-star3, div.rating-star4").addClass("rating-star-active");
             console.log("4");
        }
        if  (jQuery(starsrating).val() >= 5) {
            jQuery("div.rating-star1, div.rating-star2, div.rating-star3, div.rating-star4, div.rating-star5").addClass("rating-star-active");
             console.log("5");
        }
        console.log("end of func");
    }
     markstars();

1 Ответ

0 голосов
/ 23 апреля 2020

starsrating - простое число; Вы не можете набрать jQuery на нем.

Дальнейшее упрощение - l oop по всем номерам 1..5 и программная установка состояний div s:

function markstars(starsrating) {
  for (var i = 1; i <= 5; i++) {
    jQuery("div.rating-star" + i).toggleClass("rating-star-active", starsrating >= i);
  }
}
markstars(3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...