以前没注意过,认为jquery 中的 $("#air") 与 document.getElementById("air") 是一回事,指的是同一个东西。在今天写一个canvas的小程序时,才发现这两者是不一样的。

直接用alert()来显示这两个方法倒底获得的是什么。代码如下

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>air</title>
<link href="css/index.css" rel="stylesheet" type="text/css">
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
</head>
<body>
<div class="warp">
<canvas id="air"></canvas>
</div>
<script>
var canvas_air=$("#air");
        alert(canvas_air);
        alert(document.getElementById("air"));
var air_2d=canvas_air.getContext("2d");
var air_img=new Image();
    air_img.src="data:images/Boston-III-48px.png";
    air_2d.drawImage(air_img,0,0);
</script>
</body>

</html>

两个alert()分别显示为:[object Object]和[object HTMLCanvasElement]。从这里,不难看出,$("#air")并没有像我预想的那样。再用firebug调试看一下,
$("#air")和document.getElementById("air")倒底是什么内容。调试结果如下:

$("#air")                         [canvas#air]

document.getElementById("air")    canvas#air

想必,看到这里,不用我说,大家也会想到结果了。

实际上,$("#air")[0]等同于 document.getElementById("air");

最新文章

  1. 时间同步ntp服务的安装与配置(作为客户端的配置
  2. Android studio 出现 Unsupported major.minor version 52.0
  3. 最全的MySQL基础【燕十八传世】
  4. WinForm------DockManager控件的使用方法(里面包含DockPanel控件)
  5. Java for LeetCode 221 Maximal Square
  6. 7.mybatis一对多关联查询
  7. 【linux】linux创建用户并授予sudo权限
  8. Node.js回调概念
  9. 自解压的方式创建VC++程序的打包
  10. Ubuntu+Eclipse+ADT+Genymotion+VirtualBox开发环境搭建
  11. 拨开字符编码的迷雾--MySQL数据库字符编码
  12. 第五周 IP通信基础回顾
  13. vuex最简单、最详细的入门文档
  14. oracle flashback 后主键及索引更改问题
  15. iOS开发-工厂模式
  16. linux神器strace
  17. 01:jQuery的下拉选select2插件用法
  18. Codeforces Round #439 (Div. 2) Problem A (Codeforces 869A) - 暴力
  19. Facade - 外观模式
  20. FTRL与Online Optimization

热门文章

  1. js http 请求 多个相同参数名传值
  2. PHP 判断用户是否手机访问
  3. Jquery JS 正确比较两个数字大小的方法
  4. HTML 的 iframe 元素
  5. Xcode7 低版本iOS系统上下有黑边的问题
  6. IOS开发之TableView替换默认的checkmark为自定义图像
  7. Linux下用来获取各种系统信息的C++类
  8. 六款值得推荐的android(安卓)开源框架简介【转】
  9. MySQL参数优化
  10. schedule() 和 scheduleAtFixedRate() 的区别--转载