您的位置:首页 > Web前端 > JQuery

jquery find(),eq() 返回值问题

2018-01-23 22:22 519 查看
之前一直以为find()函数返回的是一个数组类型,并不是jquery对象,后来在开发中发现有的代码体现的并不是数组类型,就一直存在疑惑,现在做个总结。

直接上代码

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
$("#but").click(function(){
var $p= $("#b").find("p");
console.log($p);  /
be21
/返回 m.fn.init(3).....
console.log(jQuery.type($p)); // 返回 object
console.log($p instanceof jQuery); //返回 true
console.log($p.html()); //返回 aa
console.log($p[1]); //返回 <p>bb</p>
console.log($p[1] instanceof jQuery); //返回 false
console.log($p.eq(1)); //返回 m.fn.init
console.log($p.eq(1) instanceof jQuery); //返回 true
console.log($p.eq(1).html());//返回 bb
})
})
</script>
</head>
<body id="b">
<p>aa</p>
<p>bb</p>
<p>cc</p>
<input type="button" value="点击" id="but"/>
</body>
</html>


说明 find()函数返回的是一个jquery对象数组,如果直接调用html(),val()默认取值是数组的下标位0的值, p[1]返回的是一个Dom对象,p.eq(1) 返回的是一个jquery对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  find