3

私はjQuery-File-Uploadウィジェットを使用しています(ただし、この質問はどのjQueryウィジェットにも一般化できると思います)。APIfileuploadは、メソッドを使用してウィジェットを初期化するようにユーザーに指示します。

$('#fileupload').fileupload();

#fileupload私の質問は次のとおりです。IDを知らなくても、どうすればID (およびIDを要求した他の要素)を見つけることができ.fileupload()ますか?

4

1 に答える 1

4

jQuery File Uploadは、内部でjQuery UIウィジェットファクトリを使用します。このファクトリは、ウィジェットインスタンスをdata()を使用して拡張する要素に登録することが知られています。

したがって、filter()を使用して、次のように記述できます。

// Restrict ancestor if you can, $("*") is expensive.
var uploadified = $("#yourAncestor *").filter(function() {
    return $(this).data("fileupload");
});

更新: jQuery UI 1.9以降、キーdata()はウィジェットの完全修飾名になり、ドットがダッシュに置き換えられます。したがって、上記のコードは次のようになります。

var uploadified = $("#yourAncestor *").filter(function() {
    return $(this).data("blueimp-fileupload");
});

非修飾名の使用は1.9でも引き続きサポートされていますが、非推奨であり、1.10でサポートが終了します。

于 2012-06-28T19:48:51.240 に答える