相信大部份人都会把这2个的用法搞错。仔细查看下api文档就可以知道。eq返回的是一个jquery对象,get返回的是一个html 对象数组。
举个例子:
fcc84b67fd461bf7bbb2ec4a21067ed2绯雨94b3e26ee717c64999d7867364b1b4a3使用eq来获得第一个p标签的color值:
$(p).eq(0).css(color) //因为eq(num)返回的是个jq对象,所以可以用jq的方法css使用get来获得第一个p标签的color值:
$(p).get(0).style.color //因为get(num)返回的是个html对象,所以要使用传统的html对象方法,jq对象此时就没用了。当然,你也可以get(num)后把对象转为jq的对象再进行操作:
$($(p).get(0)).css(color)--------------------------------------------------------------------------
more eq
see:
http://api.jquery.com/eq/
--------------------------------------------------------------------------
more get:
see:
http://api.jquery.com/get/
eq:返回是一个 jquery对象 作用是 将匹配的元素集合缩减为一个元素。这个元素在匹配元素集合中的位置变为0,而集合长度变成1
get:是一个html 对象数组作用是取得其中一个匹配的元素。 num表示取得第几个匹配的元素。
如:html代码
代码如下:
<ul>
<li>li-1</li>
<li>li-2</li>
</ul>
比如我们通过jquery选择器 $("li")那么我们将会有两个li元素我如何只想选择其中一个呢?
$("li:eq(0)").html() 或者 $("li").eq(0).html() 就是第一个li 这里我们将获得 li-1
$("li:eq(1)").html() 或者 $("li").eq(1).html() 就是第二个li 这里我们将获得 li-2
下面我们看看 get因为get返回是html对象所以我们这里
$("li").get(0).style.color='red'
只有这样用或者将 get返回对象转换成jquery对象在操作
$($("li").get(0)).css("color",'red')即可
完整代码
代码如下:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<
head
>
<title> new
document
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script language="
javascript
" src="js/jquery.js"></script>
<script language="javascript">
<!--
$("document").ready(function(){
alert($("li:eq(1)").html());//显示 li-2 alert($("li:eq(0)").html())
$("li").get(0).style.color='red';
$($("li").get(1)).css("color",'red')
})
//-->
</script>
</head>
<body>
<ul>
<li>li-1</li>
<li>li-2</li>
</ul>
</body>
</html>
以上就是jquery中eq和get的区别与使用方法的详细内容。