为了账号安全,请及时绑定邮箱和手机立即绑定

jquery的:visible选择器选取的对象赋值给变量后,控制台显示该变量指向的元素集为空?

jquery的:visible选择器选取的对象赋值给变量后,控制台显示该变量指向的元素集为空?

沧海一幻觉 2018-09-14 10:09:18
我有若干个元素,如:<div class="test">             <p style="display: none">1</p>             <p style="display: none">2</p>             <p style="display: none">3</p>             <p style="display: none">4</p>         </div>在$(function(){})中初始化第一个p为可见:$('.test :nth-child(1)').css('display','block');然后在$(function(){})外面用:visible选择器选择该元素并赋值给变量:var aa = $('.test p:visible');再在控制台显示:$('#say').click(function () {        console.log(aa);     });此时控制台输出为:context:documentlength:0prevObject:m.fn.init[1]selector:".test p:visible"但是,如果直接在控制台输出:$('#say').click(function () {        console.log($('.test p:visible'));     });则会显示该元素:0:pcontext:documentlength:1prevObject:m.fn.init[1]selector:".test p:visible"另外,如果把上述jquery代码都放在$(function(){})中,则控制台输出都正常。再有,其他选择器还没遇到这个问题,:hidden也没遇到。这究竟是什么原因呢?
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

关键是在执行 var aa = $('.test p:visible'); 这句话的时候,有没得符合选择条件的元素


查看完整回答
反对 回复 2018-10-20
  • 1 回答
  • 0 关注
  • 405 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号