JQuery для замены и обновления контента - PullRequest
2 голосов
/ 14 мая 2009

Я делаю вызовы из управляемого кода в javascript и хотел бы отобразить время (переданное из управляемого кода),

У меня есть такая функция:

function sometimefunction(sometime) {

    $(document).ready(function() {
        $('#currenttime').before($('<div class="timeupdate"></div>').html('<h3>Last update: ' + sometime+ '</h3')).remove();          
    })
}

Теперь это заменяет время, но только при первом вызове. Я хотел бы, чтобы при каждом вызове этой функции менялось время ... 1006 *

Ответы [ 4 ]

3 голосов
/ 14 мая 2009

Я думаю, что причина вашей проблемы в том, что ваша функция просто подписывается на событие загрузки документа.

С вами все будет в порядке, если вы удалите документ. Уже звоните:

function sometimefunction(sometime) {
    $('#currenttime').before($('<div class="timeupdate"></div>').html('<h3>Last update: ' + sometime+ '</h3')).remove();
}

Кроме того, вы можете использовать вместо этого функцию jquery replaceWith .

2 голосов
/ 14 мая 2009

Вы удаляете обновление сразу после его добавления. Я не понимаю вашу структуру HTML, но здесь идет:

var someTimeFunc = function(sometime){
    $('#currenttime').innerHTML('<h3>'+ sometime +'</h3>')
}
0 голосов
/ 15 мая 2009

код $('#currenttime').before(...).remove() будет каждый раз удалять #currenttime со страницы. это именно то, что вы просите это сделать ...

так:

<div id="currenttime"></div>

становится:

<div class="timeupdate"><h3>Last update: 00/00/00 00:00:00<div>

когда вам, вероятно, нужно оказаться на странице, это div с классом timeupdate, чтобы также иметь идентификатор, который ищет код:

<div id="currenttime" class="timeupdate"><h3>Last update: 00/00/00 00:00:00</h3><div>

видите, как это решает вашу проблему? самый простой способ добраться туда - начать с кода на странице:

<div id="currenttime" class="timeupdate"></div>

и просто используйте функцию html() для прямой замены содержимого:

$('#currenttime').html('<h3>Last update: ' + sometime+ '</h3');

нет before(), нет remove(), нет проблем. :)

0 голосов
/ 14 мая 2009

document.Ready событие вызывается только браузером, когда весь контент DOM загружен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...