jQuery选择器之可见性选择器

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <link rel="stylesheet" href="imooc.css" type="text/css">
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>可见性筛选选择器</h2>
    <h3>:visible/:hidden</h3>
    <div class="left">
        <div class="div">
            <a>display</a>
            <p id="div1" style="display:none;">display</p>
        </div>
        <div class="div">
            <a>width</a>
            <a>height</a>
            <p id="div2" style="0;height:0">width/height</p>
        </div>
        <div class="div">
            <a>visibility</a>
            <a>opacity</a>
            <p id="div3" style="visibility:hidden;opacity:0">visibility</p>
        </div>
    </div>

    <p id="show"></p>
    <script type="text/javascript">
        function show (ele) {
            if (ele instanceof jQuery) {
                $("#show").html('元素的长度的 = ' + ele.length)
            } else {
                alert(ele+' 不是jQuery对象')
            }
        }
    </script>


    <script type="text/javascript">
        //查找id = div1的DOM元素,是否可见
        show( $("#div1:visible") );
    </script>

    <script type="text/javascript">
        //查找id = div2的DOM元素,是否可见
        show($("#div2:visible"));
    </script>

    <script type="text/javascript">
        //查找id = div3的DOM元素,是否可见
        show($("#div3:visible"));
    </script>

    <script type="text/javascript">
        //查找id = div1的DOM元素,是否隐藏
        show($("#div1:hidden"));
    </script>

    <script type="text/javascript">
        //查找id = div2的DOM元素,是否隐藏
        show($("#div2:hidden"));
    </script>

    <script type="text/javascript">
        //查找id = div3的DOM元素,是否隐藏
        show($("#div3:hidden"));
    </script>



</body>

</html>
show()函数的意思
function show (ele) {
			if (ele instanceof jQuery) {//如果是jQuery元素
				$("#show").append('元素的长度的 = ' + ele.length) // 显示“元素的长度 = (ele的个数)”
			} else {//如果不是jQuery元素
				alert(ele+' 不是jQuery对象')
			}
		}
执行结果:元素的长度的 = 0元素的长度的 = 0元素的长度的 = 1元素的长度的 = 1元素的长度的 = 1元素的长度的 = 0
show( $("#div1:visible") ); //div1的CSS display值为none,所以获取不到visible的元素,结果为0
show( $("#div2:visible") ); //div2的宽度和高度都显式设置为0 ,所以获取不到visible的元素,结果为0
show(  $("#div3:visible") ); //div3的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局,结果1
show( $("#div1:hidden") ); // 该元素hidden了,获取到一个hidden元素,结果1
show($("#div2:hidden") ); // 该元素hidden了,获取到一个hidden元素,结果1
show( $("#div3:hidden")); // 该元素是visible的,获取不到hidden元素,结果0
原文地址:https://www.cnblogs.com/sunxirui00/p/7542072.html