簡體   English   中英

我該怎么改變 <p> 使用javascript在一些定義的時間延遲后動態標記數據?

[英]How can I change <p> tag data dynamically after some defined time delay using javascript?

我想在定義的時間延遲后使用javascript僅更改<p>標簽內容。 例如a

<p>messages</p>

應該改變取決於沒有。 新消息來了。

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

把你的<p>寫成:

<p class="messages">messages</p>

你的javascript:

function updateMessages() {
    var ps = document.getElementsByClassName("messages");
    for(var i = 0, len = ps.length; i < len; i++) {
        ps[i].innerHTML = "messages (" + messageCount + ")";
    }
}

setTimeout(updateMessages, 1000);

其中1000是延遲的毫秒數。

或者,如果您想每15秒定期執行一次,則可以使用setInterval

setInterval(updateMessages, 15000);

更新:

我在上面看到你的評論:

使用JSP函數從數據庫中檢索新消息,該函數檢查數據庫是否有新消息

在那種情況下,我收集你想要定期檢索,實際上輪詢該URL? 如果您已經使用了javascript框架,我建議您查看他們的AJAX文檔。

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

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

jQuery讓dom操作變得容易:)上面的代碼更改了所有段落的內容,所以最好給出所需的段落<p></p>一些調用名稱然后過濾段更新​​這些名稱即$('p.classname').html('your content') OR $('.classname').html('Your content')
jQuery真棒! :)

你可以使用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);

getElementsByTagName僅用於示例。 檢索pNode的方式取決於html代碼的結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM