2012-04-11 121 views
0

我有一個動態的對話框我想提出...例如如何刪除jQuery的對話框的標題上一個動態對話框

var newDiv = $(document.createElement('div')); 

$(newDiv).html('Hello World'); 
$(newDiv).dialog({ 
    closeOnEscape: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    width: 725 

}); 

全部是巨大的但我的動態對話已,我不想做一個標題。當然,我可以通過修改以下CSS類來刪除它... .ui-dialog-titlebar {display:none}

但是,我只希望此對話框的實例沒有標題,我不希望將其應用於我的系統中的所有其他對話框。在動態對話框中刪除標題的最佳方式是什麼?我正在考慮在對話框中插入CSS方法,像這樣... $(newDiv).dialog({... stuff}).css(),但到目前爲止沒有任何工作。

我認爲問題是由於我的動態div沒有ID很難引用...任何想法的人?

如果我沒有描述我的問題也請說出來,我會改寫/擴大......我已經工作了幾個小時,我#m的開始發瘋請注意...

請注意清晰:我想刪除整個標題欄和樣式...不只是在標題通常是空字符串。

+0

我故意沒有標題集,也許我應該爲動態div動態創建ID廣告標題的一些屬性? – 2012-04-11 10:51:32

+0

對不起,我弄糊塗了你......我會更新這個問題:我想刪除整個標題欄和樣式......不只是在標題通常是空字符串。 – 2012-04-11 10:55:02

+0

好的 - 我將刪除我所有的評論!對不起! – ManseUK 2012-04-11 10:55:52

回答

3

你可以在你的動態對話框中添加一個叫做「dialog-no-title」的CSS類,然後在該類dialog-no-title {display:none}下添加相關的CSS。

要將類添加到DOM元素,請參閱jQuery文檔。它看起來像這樣:.addClass("dialog-no-title")。我猜你可以這樣做:

var newDiv = $(document.createElement('div')); 

$(newDiv).html('Hello World'); 

$(newDiv).dialog({ 
    closeOnEscape: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    width: 200, 
    dialogClass: 'dialog-no-title' 
}); 

編輯:更新的代碼示例,以反映意見。而這裏的工作的jsfiddle你:http://jsfiddle.net/nj2Q9/21/

乾杯,

詹姆斯

+0

+1完美解決方案 – ManseUK 2012-04-11 10:57:07

+1

+1,您可以在init事件中使用dialogClass選項或通過.dialog(「option」..添加額外的「dialog-no-title」類 – 2012-04-11 10:59:46

+0

我會玩這個,但是我#m當前得到「未捕獲TypeError:對象#沒有方法'addClass'」 – 2012-04-11 11:05:04

0

亞歷克斯K.建議你會怎麼做:

$(newDiv).dialog({ 
    closeOnEscape: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    width: 725, 
    dialogClass: 'ui-dialog-noheader' 
}); 

然後在你的CSS

.ui-dialog-noheader .ui-dialog-titlebar {display:none} 

其中目標在noheader類內的對話框標題欄。