<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body>
<input type="checkbox" id="pp" checked onchange="
console.info($(this).length);//1
console.info($(this)); //Object[input 属性(property)值 = 'on' 属性(attribute)值 = 'null']"
/>
</body>
</html>
打印的结果已经在代码中,
第一个不明白:打印的结果是object[],一般object后面跟的是{},这是为什么
第二个不明白:打印的结果已经是object[],说明是一个对象,为什么却能打印出长度为1;如果真的是对象,那么打印长度的时候应该为undifend
首先你打印$(this),把当前元素给打印出来,其里面就是对应的属性。至于length,是因为那个对象里面有这个length属性,所以能够抓取出来。
一般object,那么打印它的长度的时候应该为undifend
。。。你因该看下 $(this)的结构,,,你多研究下html的解析就会发现它的节点树是采用的数组 得到结果是 [object] $(this).length =1 不奇怪
每个dom对象都有 each()方法;如果是object类型 那么如何each? 想多了解的话 可以去看看 一些高级教程了解一些解析方面的东西 ,javascript中的对象都是构造的,基于数组实现。和java的底层还是不一样的。