2
return $('<div>', {
class: "my_Class"
});
return $('<div>', {
class: "my_Class"
});
它返回新创建的<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方法可以被称为:val,css,html,text,data,width,height,或offset。请注意,Internet Explorer不允许您创建输入元素并更改其类型;例如,您必须使用<input type="checkbox" />
来指定类型。
另一个问题:是否等价于:var element = document.createElement('div'); \t \t element.setAttribute(“class”,“my_class”); \t \t return element; ? – 2010-11-07 11:59:33
@UmairP - * almost *,是的,除了问题中的版本返回一个包装文档片段的jQuery对象外,评论中的版本将直接返回DOM元素。 – 2010-11-07 12:01:39