2014-02-05 6 views
0

Я хотел бы получить весь HTML-код под элементом div.Выбор вложенных divs в div с помощью javascript/jquery/ajax

Мой текущий код:

function refresh() { 
    $.ajax({ 
     url: '/tiers/', 
     success: function(data) { 
      var html = jQuery('<div>').html(data); 
       console.log(html); 
       console.log(html.find("div#dataTables").html()); //*[@id="DataTables_Table_0_wrapper"]//*[@id="DataTables_Table_0_wrapper"] 
      //$('#dataTables').html(html.find("div#dataTables").html()); 

     } 
    }); 
    setInterval("refresh()", 100000); 
} 

Содержание сНу части:

<div id="dataTables"> 
<div id="DataTables_Table_0_wrapper" class="dataTables_wrapper form-inline" role="grid"><div class="table-header"> 
****<table cell padding=0 ....>**** 
</div> 

Однако, при извлечении содержимого DIV, мы только получить содержимое Div и не лежащие в основе DIVS

<div id="dataTables"> 
****<table cell padding=0 ....>**** 
</div> 

Я заметил, что мы не можем извлечь вложенные элементы div, используя это ap ный подход. Пожалуйста, предложите.

+1

Sidenote: Почему вы используете 'setInterval ("обновить()", 100000),' внутри 'обновить () 'функция? Вы должны искать setTimeout – Satpal

+1

На самом деле он должен использовать setTimout внутри успеха Ajax и .contents – mplungjan

ответ

0

этот код вставляет таблицу в каждый div, который у вас есть.

var html = jQuery('<div>').html(data); 

я думаю, что вы хотите сделать, это

$('#DataTables_Table_0_wrapper').html(data); 

то, чтобы получить все HTML внутри первого DIV,

$('#dataTables').html(); 
+0

, как мы копируем содержимое одного div в другое? Это как $ ('# DataTables_Table_0_wrapper'). Html = $ ('# DataTables_Table_0_wrapper'). Html (data); –

+0

Я хотел бы скопировать содержимое обновленного div в старый div –

+0

, это будет $ ('# div1'). Html ($ ('# div2'). Html()) для копирования из одного div в другой. –

0

То же, что предыдущий ответ, но быстрее в JavaScript

При загрузке страницы:

var element = document.getElementById('DataTables_Table_0_wrapper'); 

Чтобы установить HTML:

element.innerHTML=data; 

Чтобы получить HTML:

element.innerHTML=data; 
Смежные вопросы