0

obj(Jqオブジェクト)をパラメーターとして受け入れるこの関数があります

ただし、この関数では、 which obj is :not(:disabled):not([readonly]

現在、私はそれを行うことができました:

function CheckRequiredSelection(obj)
{
    obj.find(".requiredSelection:visible:not(:disabled):not([readonly])").andSelf().each(function ()
    {
...
    });

}

しかし、私は本当に取り除きfindaddSelf騙したいです。

助けはありますか?

ドキュメントには以下を含めることができます:

編集 #1 ...

<select class="requiredSelection">
...
</select>

<select class="requiredSelection">
...
</select>

そして提出する前に:私は次のようなことをします:

CheckRequiredSelection($(".requiredSelection"))

編集#2

.each ループ内をチェックすることもできますが、セレクターの後であるため効率的ではありません。( 100 から 5 つのフィルター処理された要素を取得する代わりに、100 要素を取得し、フィルター処理する必要があります。それは良くありません)。

4

2 に答える 2

2

欲しいと思います.filter()

function CheckRequiredSelection(obj)
{
    obj.filter(":visible:not(:disabled):not([readonly])").each(function ()
    {
...
    });

}
于 2013-02-07T15:23:27.777 に答える
0

あなたが探しているの

現在一致している要素のセットをセレクター、要素、または jQuery オブジェクトに対してチェックし、これらの要素の少なくとも 1 つが指定された引数と一致する場合は true を返します。

したがって、コードは次のようになります。

function CheckRequiredSelection(obj) {
    obj.is(".requiredSelection:visible:not(:disabled):not([readonly])")
}

より速いかどうかはわかりfilterません。

しかしis、そのような状況で使用されることはありますか。

jsperfでパフォーマンスをテストできます

于 2013-02-07T15:40:37.587 に答える