扫码关注官方订阅号
中
如上代码,用$("#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')
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
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')才是你想要的吧……