2010-08-31 41 views
2

我將如何改變標籤的HTML像這樣:關於jQuery的活細小的問題()

$('#someId').html('<p>foo bar</p>');

在使用實時()或委託()函數?只是爲了澄清,我不希望這發生在懸停或焦點或點擊...我只是想讓jquery立即更改某個標記內的html。

基本上,我試圖改變Mojomotor的小下拉麪板中的標誌,我不想每次升級到新版本時都更改標誌。

有什麼建議嗎?

+1

所以,當你想要改變標誌?爲什麼你需要生活或委託,如果它不發生在某些事件。 – Anurag 2010-08-31 16:08:14

+0

我不知道...但試圖改變它在文檔準備不起作用,所以我想我可能不得不使用生活或類似的東西。 – Johnny 2010-08-31 16:39:39

回答

4

.live().delegate()不工作就是這樣,什麼你之後仍然通過the .livequery() plugindocument.ready做,如果它出現在頁面加載,這樣的:

$(function() { 
    $('#someId').html('<p>foo bar</p>'); 
}); 

或用.livequery()如果它動態地更換頁面:

$('#someId').livequery(function() { 
    $(this).html('<p>foo bar</p>'); 
}); 

.live().delegate()工作關閉事件冒泡......一個元素只是出現不這樣做而0123的或change等。

+0

謝謝。我試圖在沒有結果的文檔上做這件事,所以我會嘗試你建議的livequery插件。 – Johnny 2010-08-31 16:40:35

1

只需在DOM加載時執行此操作。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#someId').html('<p>foo bar</p>'); 
    }); 
</script> 
+0

我試過了,它沒有工作。 – Johnny 2010-08-31 16:41:11

+0

確保你已經包含jquery庫,並確保在腳本標記之間放置ready函數。同時發佈#someId的HTML,我們可能會看到原因。 – 2010-08-31 16:55:37