2011-11-09 83 views
1

在我的應用程序中,我使用Javascript創建了一些元素。例如,我的出發HTML是一樣的東西:jQuery Mobile:元素引用在創建頁面後丟失

<div data-theme="a" data-role="page" id="splash"> 
    <div data-role="content" id="splashContent">   
    </div> 
</div> 

然後在Javascript中它是這樣的

myObject.prototype.addHeader = function(headerText) { 
    var splashPageContent = jQuery('#splashContent'); 
    this.header = jQuery('<h1>'+headerText+'</h1>'); 

    splashPageContent.append(this.header); 
} 

到現在爲止,一切順利。問題開始出現,當我想改變標題,頁面已被JQM

myObject.prototype.changeHeader = function(headerText) { 
    this.header.html(headerText); 
} 

這不起作用創建後。當我console.log'this.header',我確實得到了一個元素,但是這個元素似乎在DOM超空間中浮動(例如它沒有父母)。當我選擇頁面上的可見標題(使用Firebug)時,我得到了與console.log所示不同的元素。

這怎麼可能? JQM是否對頭文件進行克隆?我該如何更改克隆頭文本?

+0

您正在發佈'splashPage.append()'而不是'splashPageContent.append()'。也許這就是問題所在? –

+0

謝謝,沒錯,我只是修正了我的錯字:) – koosvdkolk

回答

0

通過在之後創建元素來修復pagecreate事件。

相關問題