84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
<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,实在头疼,搞了好几个小时...
人生最曼妙的风景,竟是内心的淡定与从容!
var ele = $("#test").css("visibility") === "hidden" ? $("#test") : undefined; 试试,最好先将$("#test")缓存下
CSS样式和元素属性不是一回事
jQuery的:hidden选择器用于匹配所有不可见的元素,将其封装为jQuery对象并返回。与该选择器相对的是:visible选择器,用于匹配所有可见的元素。注意:在jQuery中,visibility: hidden;和opacity: 0;都被视作可见的,因为它们在页面上占据了相应的物理空间。所以$(':hidden')肯定匹配不到你要的元素。
jQuery
:hidden
:visible
visibility: hidden;
opacity: 0;
$(':hidden')
// 使用filter挑选出符合的元素 $("span").filter(function() { return $(this).css("visibility") == "hidden"; })
我个人觉得比较好的方法应该给visibility: hidden的元素加一个特定的className,比如hidden-obj,你获取的时候使用$('.hidden-obj'),这样就简单多了。
visibility: hidden
className
hidden-obj
$('.hidden-obj')
既然写上了 ID ,为何不用 $("#test")
$("#test")
$("#test").css('visibility')才是你想要的吧……
$("#test").css('visibility')
var ele = $("#test").css("visibility") === "hidden" ? $("#test") : undefined; 试试,最好先将$("#test")缓存下
CSS样式和元素属性不是一回事
jQuery
的:hidden
选择器用于匹配所有不可见的元素,将其封装为jQuery对象并返回。与该选择器相对的是
:visible
选择器,用于匹配所有可见的元素。注意:
在
jQuery
中,visibility: hidden;
和opacity: 0;
都被视作可见的,因为它们在页面上占据了相应的物理空间。所以
$(':hidden')
肯定匹配不到你要的元素。我个人觉得比较好的方法应该给
visibility: hidden
的元素加一个特定的className
,比如hidden-obj
,你获取的时候使用$('.hidden-obj')
,这样就简单多了。既然写上了 ID ,
为何不用
$("#test")
$("#test").css('visibility')
才是你想要的吧……