Создание списка в html с использованием объекта

Это не ответ на ваш оригинальный вопрос: «Добавление вывода командного файла в файл журнала?»

Для справки, это ответ на ваш следующий вопрос: «Какие строки я должен добавить в свой пакетный файл, который заставит его выполнить через каждые 30 минут?»

(Но я бы посоветовал совет Джона Скита: «Вероятно, вы не должны этого делать в своем пакетном файле - вместо этого , используйте Task Scheduler. ")

Таймаут:

Пример (1 секунда):

TIMEOUT /T 1000 /NOBREAK

Сон:

Пример (1 секунда):

sleep -m 1000

Альтернативные методы:

Вот ответ на ваш второй вопрос: «Наряду с отметкой времени?»

Создайте метку даты и времени в своей партии файлы [/ g2 3]

Пример:

echo *** Date: %DATE:/=-% and Time:%TIME::=-% *** >> output.log

1
задан Jermaine Subia 13 July 2018 в 17:53
поделиться

4 ответа

Я смог поиграть с ним и решил его с помощью этого:

var $list = $('.grains');
function loopIt(){
   for(var i=0; i<grains.length; i++){
      $list.append('<li><h2>' + grains[i].name + '</h2></li>');
      $list.append('<li><img src=' + grains[i].img +'></li>');
      $list.append('<li><p>' + grains[i].desc + '</p></li>');
   }
}
loopIt();
3
ответ дан David784 17 August 2018 в 12:18
поделиться

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

for (let i = 0; i < grains.length; i++) { ... }

Еще один вариант - это поиск нового пути ES6 для перебора массивов. Я предлагаю прочитать ForEach .

grains.forEach(grain => { ... })

Внутри этих циклов просто напишите код, который вы повторяете в своем фрагменте.

0
ответ дан Nick Abbott 17 August 2018 в 12:18
поделиться
  • 1
    у него есть петля, проходящая через массив уже – aquaballin 13 July 2018 в 18:02

Вы на правильном пути, но важно понять, что вы повторяете, когда вы зацикливаете .each ().

Когда вы пишете $ ('. grains'). Каждый, вы заявляете, просматриваете каждый элемент класса класса «зерно». Это не то, что вы хотите сделать. Часть путаницы - ваш класс называется зерном, а ваша переменная называется зерном. Я думаю, что это плохой выбор (и я не знаю вашей вины).

То, что вы хотите сделать, - это цикл через вашу переменную, называемую зернами. См. Пример ниже.

var grains = [
  {
    name: 'Peanuts',
    img: 'https://nuts.com/images/auto/801x534/assets/dd79402e574cd109.jpg',
    desc: 'First cultivated in the valleys of Paraguay.'
  },
  {
    name: 'Beans',
    img: 'https://www.rd.com/wp-content/uploads/2014/02/03-beans-lower-cholesterol-sl.jpg',
    desc: 'A summer crop that needs warm temperatures.'
  },
  {
    name: 'Lentils',
    img: 'https://5.imimg.com/data5/KV/EJ/MY-27379132/organic-masoor-dal-500x500.jpeg',
    desc: 'An edible pulse from a bushy annual plant.'
  }
];

grains.forEach(function(grainType) {
  $('.grains').append('<li><img src="' + grainType.img + '"><div><h2>' + grainType.name + '</h2><p>' + grainType.desc + '</p></div></li>');
});
ul {
 list-style-type: none;
}

ul li {
  margin-top: 20px;
}

ul div {
  display: inline-block;
  max-width: 170px;
}

ul img {
  max-width: 70px;
  vertical-align: top;
}

ul div {
 margin-left: 5px;
}

ul div h2 {
  margin: 0px;
  font-weight: bold;
  font-size: 14px;
}

ul div p {
  margin: 0px;
  font-style: italic;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!DOCTYPE html>
<html lang="en-ca">
<head>
  <meta charset="utf-8">
  <title>Grain globber</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <link href="css/main.css" rel="stylesheet">
</head>
<body>

  <h1>Grains</h1>
  <ul class="grains"></ul>

  <script src="jquery.min.js"></script>
  <script src="js/grains.js"></script>
  <script src="js/main.js"></script>
</body>
</html>

PS - У меня не было доступа к вашему изображению, поэтому я просто получил некоторые изображения из Интернета.

-1
ответ дан Nick Caruso 17 August 2018 в 12:18
поделиться
  • 1
    Вопросы домашней работы проводятся по тому же стандарту, что и любой другой вопрос. Ваш ответ должен учитывать идею о том, что он может быть или не быть домашним заданием. Они включены в StackOverflow . Какие темы я могу задать? . – Tyler Roper 13 July 2018 в 18:05
  • 2
    Так ты собираешься пристыковать меня -2 за попытку помочь !? – Nick Caruso 13 July 2018 в 18:07
  • 3
    Если вы собираетесь предоставить «советы», вместо ответа, по крайней мере, объясните их адекватно. – JDB 13 July 2018 в 18:08
  • 4
    Я могу голосовать только один раз, поэтому я отвечаю за -1 вашего балла, да. Причина заключается в том, что вы отправили ответ, что не является ответом , который вы подтвердили в первой строке: & quot; ... вместо ответа ... & quot; ; . Если вы исправите это и дадите адекватный ответ, я с радостью пересмотрю свой нижний план. Несмотря на это, я думаю, что это оправданно. В будущем подсказки не bad , они просто не соответствуют ответам . В некоторых случаях (не всегда) они могут быть полезны в качестве комментариев. – Tyler Roper 13 July 2018 в 18:09
  • 5
    Это, по сути, ответ только на код. Только для кода только ответы на тонкий лед. Этот вопрос даже не отвечает на вопрос (по собственному признанию). См. Эту мета-почту: meta.stackexchange.com/a/95473/191410 – JDB 13 July 2018 в 18:11

Вы получаете [object Object], потому что зерна представляют собой массив объектов.

Вместо того, чтобы мутировать DOM в цикле, я бы рекомендовал создать html, а затем добавить его только один раз.

let html = '';

$.each(grains, (index, grain)=> {
    html += `<li><img src="${grain.img}"><h2>${grain.name}</h2><p>${grain.desc}</p></li>`
});

$('.grains').html(html);

https://jsfiddle.net/09uvxh2s/8/

1
ответ дан PoorlyWrittenCode 17 August 2018 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: