我怎样才能改变<;p>;使用javascript在定义的时间延迟后动态标记数据?

我怎样才能改变<;p>;使用javascript在定义的时间延迟后动态标记数据?,javascript,time,tags,delay,paragraph,Javascript,Time,Tags,Delay,Paragraph,我只想在定义的时间延迟后使用javascript更改标签内容。例如a <p>messages</p> 消息 应根据收到的新邮件数量进行更改。作为 <p>messages(1)</p> <p>messages(2)</p> 消息(1) 信息(2) 将您的写为: <p class="messages">messages</p> 更新: 我看到你在上面的评论: 使用JSP函数从数据库检索新消息,该函

我只想在定义的时间延迟后使用javascript更改标签内容。例如a

<p>messages</p>
消息

应根据收到的新邮件数量进行更改。作为

<p>messages(1)</p>
<p>messages(2)</p>
消息(1)

信息(2)


将您的
写为:

<p class="messages">messages</p>
更新:

我看到你在上面的评论:


使用JSP函数从数据库检索新消息,该函数检查数据库中是否有新消息


在这种情况下,我想您希望定期检索该URL,实际上是轮询该URL?如果您已经使用javascript框架,我建议您查看他们的
AJAX
文档。

您可以使用setTimeout函数:

var delay = 1000; // 1 second
setTimeout(function() {
  var pNodes = document.getElementsByTagName('p');
  for (var i=0, length=pNodes.length; i < length; i++) {
    pNodes[i].innerHTML = pNodes[i].innerHTML+"("+ (i+1) +")";
  }
}, delay);
var delay=1000;//1秒
setTimeout(函数(){
var pNodes=document.getElementsByTagName('p');
对于(变量i=0,长度=pNodes.length;i
getElementsByTagName
仅用于示例。检索pNodes的方式取决于html代码的结构

$(document).ready({
 function updatePara() {        
      $('p').html('Content to set in para');
    }
 });

setTimeout(updatePara, no.of milisecond to delay);
jQuery使dom操作变得非常简单:) 上面的代码更改了所有段落的内容,因此最好给出所需段落的调用名,然后过滤段落以使用这些名称进行更新,即
$('p.classname').html('your content')
$('classname').html('your content')

jQuery太棒了!!!:)

这些新信息来自哪里?你怎么知道他们到了?我认为你并不真的想要“延时”但是应该把重点放在将更新绑定到检索新消息的代码中。新消息是使用JSP函数从数据库中检索的,该函数检查数据库中是否有新消息。JSP函数是否呈现了一些javascript,稍后会更新页面,还是只在每次呈现页面时运行。您是否在寻找定期重新运行JSP函数的方法?如果您想在没有完整请求周期的情况下更新页面,则需要使用一些AJAX回调服务器。您需要在AJAX回调中更新文本。Ya@tvanfosson我希望在定义的时间限制后调用JSP函数,并返回一个整数值,该整数值将附加到标记内容->消息中。但是JSP是在服务器端执行的。您需要的是一些定期运行的javascript,并通过AJAX调用服务器方法以获取更新的数据。客户端无法直接运行JSP代码(它甚至看不到它)。
document.getElementsByClassName
返回一个
节点列表,该节点列表没有
text()
方法。也许您想迭代
节点列表
,或者将其中的第一项分配给
textContent
?非常感谢Linus和Chris,但我想调用一个返回消息数量的JSP函数。我该怎么做?我的意思是使用javascript调用JSP函数??谢谢Chris,我意识到在我(错误地)重写了以前的jQuery版本之后。我已经相应地更新了它。谢谢Molecular Man,您能告诉我如何调用一个JSP函数,该函数使用javascript代码返回消息数的INT值???@AishwaryaShivaPareek,对不起,我不能(不是JSP专家)。
var delay = 1000; // 1 second
setTimeout(function() {
  var pNodes = document.getElementsByTagName('p');
  for (var i=0, length=pNodes.length; i < length; i++) {
    pNodes[i].innerHTML = pNodes[i].innerHTML+"("+ (i+1) +")";
  }
}, delay);
$(document).ready({
 function updatePara() {        
      $('p').html('Content to set in para');
    }
 });

setTimeout(updatePara, no.of milisecond to delay);