2013-04-08 59 views
1

这段代码是什么意思?此代码是一个jQuery选择器或其他任何东西?

var item=$("<canvas>").attr("width", width).attr("height", height)[0]; 

其实我很好奇这句法:

$("<canvas>") 

这是否意味着创建一个canvas元素? 它似乎不是jQuery中的选择器,对不对?如果我要选择一个canvas元素,我应该使用

$("canvas") 
+1

http://api.jquery.com/jQuery/ – 2013-04-08 01:47:34

回答

2

正确的,这意味着创建一个canvas元素。该jQuery函数被重载:

  • 如果传递选择,它选择的那些元素。
  • 如果通过一个HTML字符串,它创建一个元素。
  • 如果通过jQuery对象,它复制该jQuery对象。
  • 如果通过数组,它会创建一个代表这些对象的jQuery对象。
  • 如果通过元素,它会创建一个包含该元素的jQuery对象。
  • 如果通过函数,它注册为在页面加载时调用它。
+0

我看,谢谢@icktoofay – Wayou 2013-04-08 01:50:05

0

$("canvas")的确的意思是选择所有的画布标签。

$("<canvas>")意味着创建一个画布标签并返回一个对一个jQuery对象的引用,该对象已经选择了一个新创建的标签。值得注意的是它没有添加到文档中的任何地方还没有,那么你真的需要做的是这样的:

$('<canvas>').appendTo('body'); 
+0

谢谢@克里斯莫斯基尼 – Wayou 2013-04-08 02:07:15