dynamic刷新一个div没有一个简单的DOM操作

我必须更新例如一个表,一个列表,如果一些值。 我可以插入新值并尝试重新加载整个页面以再次显示表或列表值。

如果我尝试Ajax更新,我必须操纵DOM,创build一堆新的标签,连接并注入旧的HTML。 这不是一个痛苦的方法,你甚至必须重新input之前创build的代码来展示新的条目。

例如:这是一个虚构的例子,说明我的意思:

$.ajax({ url: '/post/addComment/', type: 'POST', data: 'comment=' + comment, beforeSend : function() { //waiting message $('#some_information_div').html('<strong>Updating...</strong>'); } }).done(function(data) { //new data comes here (by JSON, plain text, whatever...) if (data.status == 'OK') { //OHHH MAN WE HAVE TO POPULATE MANUALLY IT AGAIN var c = ''; c = '<table>' data.content.forEach(function(e) { c += '<tr><td>' + e.name + '</td></tr>'; }); c += '</table>' //update with new values $('#some_information_div').html(''); $('#destination_table').html(c); } }); 

不幸的是,我必须随时使用我的列表和表格,并且不得不重新input代码并通过javascript来处理它。 我想通过jQuery.load()可能会有用,也许它可以适合我想要的,我还没有尝试过。

一些其他的语言和框架,比如JSF,用“渲染技术”很容易做到,你直接更新内容,而不必手动创build和操作DOM。

请任何build议,任何线索这种方法将是非常有益的。

PS:代码示例标签在这里不起作用。

这可以通过使用.load() jquery函数来完成。 我已经说明了一些页面1.php和一些有mytable的表格

 $('table#mytable').load('./1.php #mytable'); 

不断提神 –

 setInterval(function() { $('tablev#mytable').load('./1.php #mytable'); }, 5000);