我正在从托管代码调用javascript,并希望显示时间(从托管代码传递),
我有一个如下功能:
function sometimefunction(sometime) {
$(document).ready(function() {
$('#currenttime').before($('<div class="timeupdate"></div>').html('<h3>Last update: ' + sometime+ '</h3')).remove();
})
}
现在,这取代了时间,但仅限于第一次调用..我想要发生的是每次调用此函数时更换时间...(顺便说一句,它是一个计时器,每秒都来自托管代码)< / p>
答案 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()
,没问题。 :)