javascript - jq和原生js打印同一节点,输出不同结果,大神指点一下
高洛峰
高洛峰 2017-04-10 16:18:22
[JavaScript讨论组]

console.log($('#picker'));
console.log(document.getElementById("picker"));
指向同一个节点,打印出来的结果不同
怎样才能用原生JS打印出Jquery这样的呢?

jq打印结果:
[i#picker.emoji-picker-icon.emoji-picker.pickerIcon, context: document, selector: "#picker", jquery: "2.1.1", constructor: function, toArray: function…]
    0: i#picker.emoji-picker-icon.emoji-picker.pickerIcon
    context: document
    length: 1
    selector: "#picker"
    __proto__: jQuery[0]
    
原生打印结果:
<i id="picker" class="emoji-picker-icon emoji-picker pickerIcon"></i>
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
黄舟

jquery选择器对DOM元素进行了一次封装,这样就可以链式调用jquery的一系列方法了,用$()包裹DOM元素可以将其转化为jquery对象,$(ele)[0]可以将DOM元素从jquery对象中提取出来。

PHP中文网

1.一个打印的是jquery对象,一个打印的是DOM对象,不是一个东西啊
2.可以覆盖toString方法

大家讲道理

$()返回的是包装过的object,所以使用$()[0]就一致了

怪我咯

console.log($('#picker')[0])
这样就是dom节点了。

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

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