1

jQuery UI ダイアログには、クラスを追加するオプションがあります。

http://api.jqueryui.com/dialog/#option-dialogClass

ダイアログから特定のクラスを削除する方法はありますか?

ありがとう。

4

1 に答える 1

1

クラスオプションを置き換えるだけです

// Get the existing class string
var dlgClass = $( ".selector" ).dialog("option", "dialogClass");

// remove the offending class
dlgClass.replace("delete-this-class", "");

// reset the dialog class
$(".selector").dialog("option", "dialogClass", dlgClass);

または、split(" ")または Regex を実行して単語の区切りをチェックし、クラス値を変更することもできます。

編集

使用しようとしましremoveClassたが、ウィジェットは個別に追加したクラスを追跡しているようです。これはうまくいかないようです:

$( "#dialog" ).dialog({ autoOpen: false, dialogClass: "foo bar" });
...
$("#dialog").closest(".ui-dialog").removeClass("foo");
var dialogClass = $("#dialog").dialog("option", "dialogClass");
console.log(dialogClass);  // foo bar

とにかく、このようにウィジェットの DOM 構造に依存するのは気が進まないでしょう。

于 2013-05-11T01:14:22.797 に答える