Изменение первого вывода if в цикле for - PullRequest
0 голосов
/ 29 января 2020

У меня есть для l oop, который переносит данные. У меня есть проверка if для определенного типа c и на основе этого будут созданы элементы. Поскольку я использую bootstrap, в первом отпечатке должен быть «активный» класс. Любые идеи о том, как я могу получить этот первый отпечаток, чтобы изменить его? Пожалуйста и спасибо

                 for(var i in data.response.result){
                    var disContent = data.response.result[i];
                    var contentType = disContent.type;

                    if(contentType == "article"){
                      var itemDiv = document.createElement("div");
                      $(itemDiv).addClass("carousel-item");

                      var itemImg = document.createElement("img");
                      var img = disContent.listImage.thumbnail;
                      $(itemImg).addClass("d-block w-100");
                      itemImg.src = img;

                      //if(first print){
                      // $(itemDiv).addClass("active");
                      //}

                      $(itemDiv).append(itemImg);
                      $("#inner").append(itemDiv);
                    }

                  } 

Ответы [ 2 ]

0 голосов
/ 29 января 2020

У вас есть несколько вариантов:

  1. использовать флаг (существующий ответ)

  2. проверять каждый l oop, просто перед добавлением (медленно)

    if ($("#inner>div").length === 0) $(itemDiv).addClass("active");

  3. добавьте его после для l oop

    $("#inner>div.carousel-item:first()").addClass("active");

0 голосов
/ 29 января 2020

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

var first = true;
for (var i in data.response.result) {
    var disContent = data.response.result[i];
    var contentType = disContent.type;

    if (contentType == "article") {
        var itemDiv = document.createElement("div");
        $(itemDiv).addClass("carousel-item");
        first && ($(itemDiv.addClass("active")), first = false);

        var itemImg = document.createElement("img");
        var img = disContent.listImage.thumbnail;
        $(itemImg).addClass("d-block w-100");
        itemImg.src = img;

        //if(first print){
        // $(itemDiv).addClass("active");
        //}

        $(itemDiv).append(itemImg);
        $("#inner").append(itemDiv);
    }

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...