вызов:
$('#tidm').html(''); // .empty() is slightly faster
перед каждым вашим циклом, это очистит старый HTML
Редактировать: Мой первоначальный ответ был просто для очистки HTML, но некоторые комментарии указывают на действительностьпроблемы с производительностью в коде из исходного вопроса.Поэтому, хотя производительность исходного кода не была предметом вопроса, я собираюсь дополнить свой ответ тем, что, по моему мнению, будет более производительным.
Я не проверял это, но намерение должно быть ясным.
$(document).ready(function() {
var $tidm = $('#tidm');
var html;
setInterval(function() {
$.get('Stocks', function(data) {
html = '';
$tidm.empty(); // using empty instead of .html('') as suggested
$(data).find('stock').each(function() {
var $stock = $(this);
var tidm = $stock.find("tidm").text();
var name = $stock.find("name").text();
var price = $stock.find("price").text();
var change = $stock.find("change").text();
html += '<p>tidm = ' + tidm + '</p>';
html += '<p>name =' + name + '</p>';
html += '<p>price = ' + price + '</p>';
html += '<p>change = ' + change + '</p>';
});
$tidm.html(html);
});
}, 1000); // 1000 milliseconds = 1 second.
});
Если есть какие-либо улучшения, которые могут быть сделаны, или ошибки, которые я сделал, сообщите мне в комментариях.