Как вставить несколько HTML-элементов с помощью jQuery

У меня есть веб-страница, которая принимает данные из Yahoo! Погода API. Я использую этот запрос. Я хотел бы создать таблицу с помощью jQuery, который вставляет элементы с идентификаторами. Вот мой текущий код:

$.get("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22canberra%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys", function(data) {
  $("#title").append(data.query.results.channel.title);
  $("#sunrise").append(data.query.results.channel.astronomy.sunrise);
  $("#sunset").append(data.query.results.channel.astronomy.sunset);
  $("#title-2").append(data.query.results.channel.item.title);
  for (var i = 0; i < 10; i += 1) {
    var newRow = $("<tr></tr>").attr("id", "row-" + (i + 1));
    var newDate = $("<td></td>").attr("id", "date-" + (i + 1));
    var newMin = $("<td></td>").attr("id", "min-" + (i + 1));
    var newMax = $("<td></td>").attr("id", "max-" + (i + 1));
    var newConditions = $("<td></td>").attr("id", "conditions-" + (i + 1));
    $("#weather").append(newRow);
    $("#row-" + (i + 1)).append(newDate, newMin, newMax, newConditions);
    $("#date-" + (i + 1)).append(data.query.results.channel.item.forecast[i].day + " " + data.query.results.channel.item.forecast[i].date);
    $("#min-" + (i + 1)).append((Math.floor(((data.query.results.channel.item.forecast[i].low) - 32) / 1.8)) + "°C");
    $("#max-" + (i + 1)).append((Math.floor(((data.query.results.channel.item.forecast[i].high) - 32) / 1.8)) + "°C");
    $("#conditions-" + (i + 1)).append(data.query.results.channel.item.forecast[i].text);
  }
  $("#lastBuild").append(data.query.results.channel.lastBuildDate);
}, "json");
div#main {
  width: 595px;
}
table#weather {
  border-collapse: collapse;
  width: 595px;
}
table#headers {
  width: 595px;
}
td,
th {
  width: 148.75px;
  text-align: center;
}
tr {
  height: 28px;
}
<script src = "https://code.jquery.com/jquery-3.3.1.js"></script>

<div id = "main">
  <h1 id = "title"></h1>
  <ul id = "sun">
    <li id = "sunrise"><strong>Sunrise: </strong></li>
    <li id = "sunset"><strong>Sunset: </strong></li>
  </ul>
  <h2 id = "title-2"></h2>
  <table id = "headers">
    <tr>
      <th id = "date">Date</th>
      <th id = "min">Min</th>
      <th id = "max">Max</th>
      <th id = "conditions">Conditions</th>
    </tr>
  </table>
  <table id = "weather" border = "1"></table>
  <br />
</div>
<em id = "lastBuild">Data last built at: </em>

У меня такой вопрос:

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
630
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В настоящее время мне это нравится. Если ваша страница будет запрашивать информацию только один раз, тогда все будет в порядке, если она работает сейчас. Если вы хотите разрешить несколько запросов (например, разрешить пользователю выбрать дату и нажать кнопку для получения информации о другом дне), вы можете захотеть empty соответствующих элементов, прежде чем append добавит им новые элементы.

Спасибо! Я только что его протестировал, и он отлично работает! P.S. были ли мои вопросы хорошим вопросом?

Jack Bashford 17.08.2018 05:14

Обычно хороший вопрос задают о проблеме, с которой кто-то столкнулся во время разработки. Ваш код работает хорошо, и вы в основном спрашиваете мнения или возможные улучшения, что, по-видимому, не вписывается в категорию «хороших вопросов» по ​​стандарту SO.

Chan MT 17.08.2018 05:38

Хорошо спасибо. Мне просто интересно (большинство моих сообщений - это ответы)

Jack Bashford 17.08.2018 05:39

Другие вопросы по теме