[jQuery] $("selector1 selector2") $("selector1 > selector2") $("selector1, selector2") 区别
jQuery 选择元素的方式有很多种,其中三种容易混淆,记录下来,以示区别。
$("selector1 selector2")
选取所有 seletor1 下的所有后代元素 selector2 ,是祖先和后代的关系,子子孙孙辈都是后代。
$("selector1 > selector2")
选取所有 selector1 下的所有孩子元素 selector2 ,是父母和孩子的关系,孩子只包括儿女辈,不包括孙子辈及以后。
$("selector1, selector2")
选取所有 selector1 元素和所有 selector2 元素。
实例代码:
<script type="text/javascript"> $(function() { var len1 = $("#div1 div").length; alert(len1); //3 var len2 = $("#div1 > div").length; alert(len2); //2 var len3 = $("#div1, div").length; alert(len3); //4 }); </script> <div id="div1"> <div> <div></div> </div> <div></div> </div>需要稍微关注的一点是,$("#div1, div") 选择的时候,id=div1 的 div 元素既符合 $("#div1") 又符合 $("div") ,使用 $("#div1, div") 选择的时候jQuery会按实际元素数量计算,不用担心此处存在重复计数的问题。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。