2013-04-08 29 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

相關問題