首页 新闻 会员 周边 捐助

JQuery小问题求解答

0
悬赏园豆:10 [已解决问题] 解决于 2013-01-25 17:16
<head>
<title>DOM Level 0 Events Example</title>
<script type="text/javascript" src="../scripts/jquery-1.2.1.js"></script>
<script type="text/javascript">
  $(function(){
     $('#vstar')[0].onmouseover = function(event) {
        say('Whee!');
     }
  });

  function say(text) {
     $('#console').append('<div>'+new Date()+' '+text+'</div>');
  }
</script>
</head>

<body>
<img id="vstar" src="vstar.jpg" onclick="say('Vroom vroom!')"/>
<div id="console"></div>
</body>

为什么以上代码中  $('#vstar')[0].onmouseover  需要[0],而

 $('#console').append不需要[0](即不是
 $('#console')[0].append
Paul_bai的主页 Paul_bai | 初学一级 | 园豆:12
提问于:2013-01-23 15:34
< >
分享
最佳答案
0

jQuery 选择器返回的是一个符合条件的元素集合,$('#vstar')是一个集合,虽然在这里这个集合中只有一个元素。由于他现在是一个jQuery对象,你可以使用jQuery封装的方法、属性。

当你用下标的形式,如:$('#vstar')[0],就将jQuery对象,也就是一个元素集合转化成了document对象。这个时候,你就只能使用javascript的方法、属性了。

收获园豆:3
jone_e | 小虾三级 |园豆:1410 | 2013-01-24 11:16
其他回答(4)
1

加 0 访问 是 dom 对象,不加 是 jquery对象。

收获园豆:4
Qlin | 园豆:2403 (老鸟四级) | 2013-01-23 15:38
0

第一种不是jquery的写法,是用js写的(但用了jquery的选择器)。

jquery应该这样写,dom先转化为jquery对象,然后调用事件。

收获园豆:1
truename | 园豆:168 (初学一级) | 2013-01-23 15:53
0

上边的那个是dom对象,下面的是jquery对象,jquery是先获取dom再将其转化成jquery对象,其实和他们两位说的意思一样

收获园豆:1
妍珊 | 园豆:1169 (小虾三级) | 2013-01-23 16:58
0

jquery 对象 和dom对象

收获园豆:1
chenping2008 | 园豆:9836 (大侠五级) | 2013-01-23 21:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册