jquery中的get和eq的用法区别

  最近开始研究jquery,遇到一点细节的知识点记录如下:

   <body>
    <img src="4.jpg"/>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
           alert($('img').get(0).src);
        });
    </script>
</body>

如下,可以获得页面中图片的src属性,但是如果jquery中的一句代码改为alert($('img').eq(0).src);此时会打印出undefined。

原因如下:

get()返回的是一个dom对象,可以使用jquery对象的方法,而eq()返回的是一个jquery对象,必须使用jquery对象的方法:

$("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")

如上则为两者区别

你可能感兴趣的:(jquery中的get和eq的用法区别)