我正在从另一个网站抓取数据。到目前为止,我已经取得了成功,但是我正在努力解决一个问题。提取数据后,我必须将其附加到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();
答案 0 :(得分:0)
无需将其附加到文档中。您可以create jQuery object on the fly,然后可以使用它通过各种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>