2010-11-07 64 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