Нужно ли добавлять извлеченные данные, прежде чем я смогу извлечь данные? - PullRequest
0 голосов
/ 28 сентября 2018

Я собираю данные с другого сайта.До сих пор я был успешным, но я борюсь с одной проблемой.Когда я выбрал данные, я должен добавить их в div, чтобы извлечь правильные данные, используя getElementByClassName.Есть ли другой способ сделать это?Можно ли как-то сохранить данные в локальной переменной, а затем извлечь данные аналогичным образом?

$.getJSON('URL' + encodeURIComponent('websiteURL' + retrievedData.postnr) + '&callback=?', function(data) {
  $(".newHtml").append(data.contents);//Here is where I append the data so I can extract it.
  var elements = document.getElementsByClassName("The class name that I am looking for");
  for (var i = 1; i < elements.length; i++) {
    var header = elements[i].getElementsByTagName("h2")[0].textContent;
    $(".add").append(header);
    for (var x = 0; x < 3; x++) {
      var pris = elements[i].getElementsByClassName("Class name inside with certain content inside the other class")[x].textContent;
      var info = elements[i].getElementsByClassName("Class name inside with certain content inside the other class")[x].textContent;
      $(".add").append("<div class='priser'><h3 class='pris'>" + pris + "</h3>" + "<p class='info'>" + info + "</p></div>");
    }

  }
  $(".newHtml").remove();

1 Ответ

0 голосов
/ 28 сентября 2018

Нет необходимости добавлять его в документ.Вы можете создать объект jQuery на лету , затем его можно использовать для извлечения данных, используя различные методы обхода DOM.

var myObj = $('<div />').html(data.contents);
var tragetElement = myObj.find('.someClass') 

var myObj = $('<div />').html('<span class="someClass">text</span>');
var tragetElement = myObj.find('.someClass');

console.log(tragetElement.text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...