2012-01-06 39 views
2

我正在開發一個社交網站,並在左側面板中顯示一些通知功能。 每當有用戶玩過遊戲時,它會自動更改通知次數。什麼使下面的jquery代碼有所不同?

爲此,我使用下面的代碼行。

jQuery('#count_id').load('mypage.php'); 

但它會檢索我痊癒的網站內容與頁眉,頁腳和內容區域的響應文本,這是錯誤的,因爲按我的要求。

,但如果我用下面的代碼行

jQuery('#count_id').load('mypage.php #count_id'); 

那麼它將檢索我一個真正的計數,但在原有之間添加另一個div

原始的HTML:

<div id="count_id" class="notify">2</div> 

和代碼:

<div id="count_id" class="notify"> 
<div id="count_id" class="notify">1</div> 
</div> 

這也不符合預期。計數是正確的,但我不想在原來的內部添加新的div。

我需要在我的代碼中更改哪些內容?

謝謝。

回答

3
jQuery('#count_id').load('mypage.php #count_id > *'); 

這隻會帶來DOM孩子的(內容)

+0

感謝您的回覆.. – Chandresh 2012-01-06 10:52:01

2

因爲這是它如何工作的。此外,它還使您能夠將事件附加到您加載的元素上,並將它們委託給此元素(因此新元素也可以從附加的JavaScript事件中受益) - 請參見.delegate()

如果你想更換元素,你可以嘗試以下方法:

jQuery.get('mypage.php', function(data){ 
    jQuery('#count_id').replace(jQuery(data).find('#count_id')); 
}, 'html'); 

我沒有測試它,但它應該工作。

Ivan Castellanos然而是正確的。根據文檔,您可以在​​參數的第一個空格之後提供任何選擇器。

1

要檢索count_id,你可以直接在這樣的股利獲取HTML值:

<script type='text/javascript'> 
    jQuery(document).ready(function() 
    { 
     countVal = $("#count_id").html(); //returns the html content inside the div, which is the count value 
     countVal = parseInt(countVal); //This will convert the string to type integer 
    }); 
    </script> 

注: 如果你想增加數量和更新DIV值,你可以添加以下幾行:

countVal++; 
$("#count_id").html(countVal);