0

bool を返すカスタム jquery セレクターを作成しようとしていますcss("visibility") == "inherit"が、機能していないようです。以下はコードです...

$.expr[":"].crazyvisible = function(a) {
    var elem = $(a);
    return (elem.css("visibility") == "inherit");
};

これは私がセレクターを使用しているコードです(私もライブで試しました)...

$(document).ready(function() {
    $("span#Request1_multiconditionvalidator2").delegate(":crazyvisible","attachErrorMessage", function() {
        ...
    }
}
4

1 に答える 1

1

.delegate()私が知る限り、セレクターまたは呼び出しに問題はありません。問題は、.css()関数が要素の計算されたスタイルを返すため'inherit'、代わりに要素の親が持っているスタイルに計算されるため、値として取得されないことです。

この質問では、jQuery を使用して継承された CSS プロパティをチェックする方法について詳しく説明していますが、簡単ではありません。

編集:'hidden'要素が継承されているかどうかに関係なく、要素がそうでないかどうかだけを知る必要がある場合は、次のようにすることができます:

$.expr[":"].crazyvisible = function(a) {
    var elem = $(a);
    return elem.css("visibility") != "hidden";
};
于 2011-08-31T18:59:13.490 に答える