2015-08-09 5 views
0

Я скребковые HTML в качестве веб-страницы и структура выглядит следующим образом:Петля через те же классы

<p class="h2"></p> 
<div class="photoset-col1"></div> 
<div class="photoset-col2"></div> 
<div class="description"></div> 

<p class="h2"></p> 
<div class="photoset-col1"></div> 
<div class="photoset-col2"></div> 
<div class="description"></div> 

...continious through out the whole page 

Теперь я хочу, чтобы очистить все элементы h2, фотосет-col1, фотосет-col2, описание друг под другом с помощью JQuery

$.ajax({ 
    url: 'http://theurl', 
    type: 'GET', 
    success: function(res) { 
     var result = $(res.responseText).find(".h2").html(); 




     $("#container_result").append(result); 

    } 

Но когда я делаю, что возвращают только первый класс .h2 я хочу их всех, мне нужно сделать петлю для этого? А как насчет остальных протоколов и описания?

$.ajax({ 
     url: 'http://theurl', 
     type: 'GET', 
     success: function(res) { 
      var result = $(res.responseText).find(".h2, .photoset-col1, .photoset-col2").html(); 




      $("#container_result").append(result); 

     } 

Это не похоже на работу

Спасибо заранее!

+0

Если все целевые элементы находятся внутри одного и того же элемента, то вы можете выбрать родительский элемент и получить его HTML. –

+1

, если вы вызываете '.html()' над группой элементов, тогда возвращается внутреннийHTML первого элемента в этой группе. Вам нужно пройти элементы, чтобы получить все элементы html. –

+0

Да, все они находятся внутри div с именами классов .content-wrap, но когда я выбираю это, он не получает никаких данных, я обнаружил, что это странно, потому что весь контент находится внутри этого div ... – user253959

ответ

0

Если вы хотите добавить HTML содержимое всех .h2

$.ajax({ 
url: 'http://theurl', 
type: 'GET', 
success: function(res) { 
    var tempParent = $('<div></div>'); 
    tempParent.append($(res.responseText).html()); 
    tempParent.find(".h2").each(function(){ 
     $("#container_result").append($(this).html()); 
    }); 
} 
}); 
+0

что делают теги div? h2 является тэгом p, это важно? :-) – user253959

+0

@ user253959 Вы должны прочитать на селекторах: https://api.jquery.com/category/selectors/ –

+0

Глядя на вашу часть html, которую загрузит ajax, она не имеет элемента оболочки. $ .find() будет искать дочерние объекты данного контекста. Чтобы создать родительский контекст, я создал tempParent как div и добавил ваш html-контент к нему, а затем применил find() для поиска в dom. – XPD