jquery来替换和更新内容

时间:2009-05-14 19:26:37

标签: jquery

我正在从托管代码调用javascript,并希望显示时间(从托管代码传递),

我有一个如下功能:

function sometimefunction(sometime) {

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

现在,这取代了时间,但仅限于第一次调用..我想要发生的是每次调用此函数时更换时间...(顺便说一句,它是一个计时器,每秒都来自托管代码)< / p>

4 个答案:

答案 0 :(得分:3)

我认为您遇到问题的原因是因为您的功能只是订阅文档加载事件。

如果您删除document.ready call:

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

此外,您可以改为使用jquery replaceWith函数。

答案 1 :(得分:2)

添加后立即删除更新。我没有得到你的HTML结构,但这里是:

var someTimeFunc = function(sometime){
    $('#currenttime').innerHTML('<h3>'+ sometime +'</h3>')
}

答案 2 :(得分:0)

document.Ready事件仅在加载了所有DOM内容后才被浏览器调用。

答案 3 :(得分:0)

代码$('#currenttime').before(...).remove()每次都会从页面中删除#currenttime。这正是你要求它做的......

这样:

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

变为:

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

当你可能需要在页面上结束的是带有timeupdate类的div时,也要有你的代码所需的ID:

<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(),没问题。 :)