2011-11-17 72 views
3

我試圖與.html()A標籤內的變化,後來使其成爲ui-button。這些更改是可以的,但是當我在剛剛修改的鏈接中調用.button時,更改將丟失。jquery .html(...)改變不變?

看到這個jsfiddle

我覺得現在的問題是,新的內部HTML不完全呈現和.button功能使用舊的內部HTML,使代碼的變化,使其恢復到前值打電話給html()

我試過this但不起作用。你可以看到它here

我知道我可以解決辦法,但我想知道這是怎麼回事,是不是一個錯誤?

謝謝!正如你所說的,它看起來像按鈕之間的差異對象的文本與原始元素含量的持久性

+0

問題似乎與'$('#button')。按鈕({圖標:{主:'用戶圖標文件夾打開'}});'。這可能是一個語法錯誤。 – ksindi

回答

4

試試這個

$('#button').button({ icons: { primary: 'ui-icon-folder-open'} }); 
    $('#textChanger').click(
    function(){ 
     $('#button').button({ 
           label: 'new text', 
           icons: {primary: 'ui-icon-custom', secondary: null} 
          }); 
     return false; 
    }) 

here的工作小提琴

+0

謝謝,我不知道'.button'有一個設置內部html的選項。儘管你還沒有回答我的原始問題,但我會給你接受。這是jquery的'.html'中的一個錯誤嗎?你也知道這是否與'.button'不同的其他方法發生?再次感謝 – Peto

3

,你可以改變通過字幕然而,.button;

$('#button').button({ icons: { primary: 'ui-icon-folder-open'}, label: "new text" }); 

但由於按鈕已經創建好了;

$('#button').button("option", "label", "new text"); 
+0

我已經標記爲user1008575的答案,因爲他在你之前回答了一分鐘..但是非常感謝,我正在使用你的代碼。而且......你知道爲什麼會發生這種情況嗎?這是一個錯誤? – Peto

+0

控制可能有獨立的HTML跟蹤標籤,例如,如果您使用的圖標,然後它的HTML也()button.html的一部分,以便覆蓋它會破壞形象 –

+0

是的,我明白'的.html (..)'會中斷按鈕圖像(以及'A'標籤內的任何其他代碼),但在.html(..)之後的'.button()'調用應該對新代碼進行更改,但它使用舊的,女巫必須緩存?某處......問題是:從哪裏獲取'.button()'元素中的代碼來改變它?爲什麼'的.html()''噸更改代碼...好像我標誌着一個答案,不接受更多的人來這裏拋出一些光在這個主題.. – Peto