0

上げたい動的ダイアログがあります...たとえば

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 がなく、参照するのがかなり難しいためだと思います...誰かアイデアはありますか?

私の問題を十分に説明していない場合は、そう言ってください。言い直します/拡大します...私は何時間も働いていて、気が狂い始めています...

明確にするために注意してください: タイトル バーとスタイル全体を削除したいのですが、タイトルが通常ある場所に空の文字列があるだけではありません。

4

2 に答える 2

3

「dialog-no-title」などと呼ばれる動的ダイアログにcssクラスを追加し、そのクラスの下に関連するcssを追加できdialog-no-title {display:none}ます。

クラスを 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'
});

EDIT : コメントを反映するようにコード サンプルを更新しました。そして、ここにあなたのために働くjsFiddleがあります:http://jsfiddle.net/nj2Q9/21/

乾杯、

ジェームズ

于 2012-04-11T10:55:52.080 に答える
0

Alex 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 クラス内のダイアログのタイトルバーを対象としています。

于 2012-04-11T11:06:19.227 に答える