首页 > jq和原生js打印同一节点,输出不同结果,大神指点一下

jq和原生js打印同一节点,输出不同结果,大神指点一下

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>

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


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


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


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

【热门文章】
【热门文章】