<span id="test" style="visibility:hidden;position:absolute;bottom:0;left:0;font-weight:bold;font-size:12px;font-family:'arial';">中</span>
如上代码,用$("#test").is(':hidden') 取出来的是假,用attr 方法取出来是undefined,实在头疼,搞了好几个小时...
PHPz2017-04-11 12:44:35
var ele = $("#test").css("visibility") === "hidden" ? $("#test") : undefined; 试试,最好先将$("#test")缓存下
迷茫2017-04-11 12:44:35
jQuery
的:hidden
选择器用于匹配所有不可见的元素,将其封装为jQuery对象并返回。
与该选择器相对的是:visible
选择器,用于匹配所有可见的元素。
注意:
在jQuery
中,visibility: hidden;
和opacity: 0;
都被视作可见的,因为它们在页面上占据了相应的物理空间。
所以$(':hidden')
肯定匹配不到你要的元素。
// 使用filter挑选出符合的元素
$("span").filter(function() { return $(this).css("visibility") == "hidden"; })
我个人觉得比较好的方法应该给visibility: hidden
的元素加一个特定的className
,比如hidden-obj
,你获取的时候使用$('.hidden-obj')
,这样就简单多了。