簡體   English   中英

如何在另一個jQuery函數上調用jQuery函數?

[英]How to Call a jQuery Function on Another jQuery Function?

如何在另一個jQuery函數上調用jQuery函數?

我正在嘗試使用jQuery setInterval和load函數刷新div的內容。 到目前為止,除了加載整個div(包括div標簽)之外,其他所有東西都工作正常。 我只希望div的內容重新加載/刷新。 我嘗試添加jQuery函數text() ,但是它不起作用,或者可能是我編寫了錯誤的語法。

$('#numberOfTries').load('index.php #numberOfTries').text(); 不起作用。

到目前為止,這是我可以使用的,但是可以用div標簽加載整個div:

Index.php的HTML(頂部)

<div id="numberOfTries"><?php echo $numberOfTries; ?></div>

JS of Index.php(底部)

<script src="assets/js/jquery.min.js"></script> 
<script>
$(document).ready(function() {
    setInterval(function() {
        $('#numberOfTries').load('index.php #numberOfTries');
    }, 1000);
});
</script>

該腳本加載整個div,即<div id="numberOfTries">50</div> ,但是我只想加載div的內容,即50

當腳本運行時,HTML最終看起來像這樣:

<div id="numberOfTries">
<div id="numberOfTries">50</div>
</div>

但我只希望它看起來像這樣:

<div id="numberOfTries">
50
</div>

我認為我的語法$('#numberOfTries').load('index.php #numberOfTries').text(); 是不正確的。

請讓我知道是否需要澄清。

您誤解了.load()的使用。

在通話中,您正在加載index.php頁面,並獲取ID為numberOfTries的元素,並將其放在同一div

要實現您想做的事情,您需要使用.load()回調:

$("#numberOfTries").load("index.php #numberOfTries", function() {
  // Load the resource and look for the element.
  // When it's done, return this element .text().
  return $(this).text();
}).text();

jQuery .load()

附帶說明一下,值得澄清的是.text()可以很好地配合您的示例使用,但您會將一個div嵌套在另一個示例中,更糟糕的是,它們都共享相同的ID。

但這還是可以的: Demo

如果您不希望發生嵌套的div,則可以使用.replaceWith(),以便替換整個DIV。 也許您必須將.load()中的成功數據保存在變量中才能執行此操作。

暫無
暫無

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

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