这段代码是jQuery选择器还是其他任何东西?

时间:2013-04-08 01:44:48

标签: jquery html5 canvas

这段代码是什么意思?

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

其实我对这种语法很好奇:

$("<canvas>")

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

$("canvas")

3 个答案:

答案 0 :(得分:2)

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

  • 如果传递选择器,则会选择这些元素。
  • 如果传递 HTML字符串,则会创建一个元素。
  • 如果传递一个jQuery对象,它会复制该jQuery对象。
  • 如果传递数组,它会创建一个表示这些对象的jQuery对象。
  • 如果传递元素,它会使用该元素创建一个jQuery对象。
  • 如果传递一个函数,它会在页面加载时注册它。

答案 1 :(得分:0)

$("canvas")确实意味着选择所有画布标签。

$("<canvas>")表示创建一个canvas标记并返回对jQuery对象的引用,该对象选择了一个新创建的标记。值得注意的是,它还没有被添加到文档中,所以你真的需要做类似的事情:

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

答案 2 :(得分:0)

jQuery() method can be used to create DOM elements from raw HTML。这也将width / height属性分配给新创建的元素。你确实会用$("canvas")选择它。请注意,此元素不会附加到DOM。