0

我正在尝试创建一个自定义 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 回答