2010-11-07 65 views

回答

8

它返回新創建的<div class="my_Class"></div>元素,這是
$(html, props) overload of $()。它需要設置元素HTML和屬性對象。

東西雖然要注意,class是在IE中的關鍵字,會導致一些問題,你需要把它放在引號:

return $('<div>', { 'class': "my_Class" }); 

一個更完整的例子可能是這樣的:

return $('<div>', { 'class': "my_Class", click: function() { alert('hi'); } }); 

來自文檔:

從jQuery 1.4開始,我們可以將屬性映射傳遞給第二個參數。該參數接受可以傳遞給.attr()方法的屬性的超集。此外,任何event type可以傳遞的,並且下面的jQuery方法可以被稱爲:valcsshtmltextdatawidthheight,或offset。請注意,Internet Explorer不允許您創建輸入元素並更改其類型;例如,您必須使用<input type="checkbox" />來指定類型。

+0

另一個問題:是否等價於:var element = document.createElement('div'); \t \t element.setAttribute(「class」,「my_class」); \t \t return element; ? – 2010-11-07 11:59:33

+1

@UmairP - * almost *,是的,除了問題中的版本返回一個包裝文檔片段的jQuery對象外,評論中的版本將直接返回DOM元素。 – 2010-11-07 12:01:39