javascript - 为什么有的时候jQuery selector返回的是比较不直观的jQuery对象数组(而非比较直观的DOM列表)?
大家讲道理
大家讲道理 2017-04-10 17:58:40
[JavaScript讨论组]

以上两张图是在同一个页面上测试和截取的,同样的jQuery('script')返回的结果却有很大不同。在我的Chrome上,一直以来都是第一种返回结果,在这个返回结果中可以很直观地看到每一个

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
巴扎黑

更新内容较多,重新编辑了一下答案


jquery返回的应该是一个jquery对象,这个对象是一个Dom列表。你的问题在于为什么会出现下面这种状况?



第一种情况

如上图并不是一个HTML Tag Content,他是一个对象,见下图

第二种情况

可以直观的看出是一个类数组对象,$('script')[0]就是第一种情况中的HTMLScriptElement,如下图

在实际的开发过程中,我们常常需要以对象的形式显示,所以我们可以使用下面的方式来强制以对象的形式显示,OObject的首字母

// Element可以是jquery对象,也可以是js原生选择器获取的js对象 
console.log('%O', Element);

为什么会出现上面的两种情况?返回的都是对象,只是展示方式不一致,这个应该是浏览器展现的原因(具体是什么时候会触发这个显示方式暂时没深入研究),浏览器本身也封装了一个$选择器,可以在不引入jQuery的前提下直接通过$('script')获取。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号