登录

javascript - 如何用jquery取visibility:hidden 的值?

<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,实在头疼,搞了好几个小时...

# JavaScript
黄舟黄舟2184 天前537 次浏览

全部回复(5) 我要回复

  • PHPzhong

    PHPzhong2017-04-11 12:44:35

    var ele = $("#test").css("visibility") === "hidden" ? $("#test") : undefined; 试试,最好先将$("#test")缓存下

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-11 12:44:35

    CSS样式和元素属性不是一回事

    回复
    0
  • 迷茫

    迷茫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'),这样就简单多了。

    回复
    0
  • 怪我咯

    怪我咯2017-04-11 12:44:35

    既然写上了 ID ,
    为何不用 $("#test")

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-11 12:44:35

    $("#test").css('visibility')才是你想要的吧……

    回复
    0
  • 取消回复发送