我正在尝试创建一个自定义jquery选择器来返回css("visibility") == "inherit"
的bool,但它似乎不起作用。以下是代码......
$.expr[":"].crazyvisible = function(a) {
var elem = $(a);
return (elem.css("visibility") == "inherit");
};
这是我正在使用选择器的代码(我也试过了)......
$(document).ready(function() {
$("span#Request1_multiconditionvalidator2").delegate(":crazyvisible","attachErrorMessage", function() {
...
}
}
答案 0 :(得分:1)
据我所知,您的选择器或.delegate()
电话没有任何问题。问题是.css()
函数返回一个元素的计算样式,所以你永远不会得到'inherit'
作为值,因为那时它会被计算为元素父元素的任何样式。
您可以在this question中找到有关使用jQuery检查继承的CSS属性的更多信息 - 简而言之,这样做并不容易。
编辑:如果您只需要知道元素是否不是'hidden'
,无论是否继承,您都可以这样做:
$.expr[":"].crazyvisible = function(a) {
var elem = $(a);
return elem.css("visibility") != "hidden";
};