首先我们来看HTML代码:
<ul> <li>百度</li> <li>新浪</li> <li>雅虎</li> <li>腾讯</li> </ul>
这是一段非常简单的html代码,其中包含了一个ul标签和多个li标签。
再来看一下javascript代码:
$("document").ready(function(){ alert($("li:eq(0)")); alert($("li").get(0)); })
返回结果分别为:[object Object]和[object HTMLLIElement]
由此可知,eq返回的是一个jquery对象,get返回的是一个html 对象数组。
使用eq来获得第一个li标签的color值,继续看代码:
$("li").eq(0).css("color") //因为eq(num)返回的是个jq对象,所以可以用jq的方法css
使用get来获得第一个li标签的color值:
$("li").get(0).style.color //因为get(num)返回的是个html对象,所以要使用传统的HTML对象方法,jq对象此时就没用了。
当然,你也可以get(num)后把对象转为jq的对象再进行操作:
$($("li").get(0)).css("color")
由此我们知道,由eq返回的jquery对象,我们可以直接使用jquery的方,如.css(),.html()等,而由get返回的是html数组对象要使用传统的HTML对象方法或者转换成jquery对象后再操作。
可以用eq的地方建议使用eq来取得jquery对象,可以有效减少代码量。