要创建<div id="hello"></div>
尝试
$('<div id="hello"></div>').appendTo('body');
要创建<div id="test" class="a b"></div>
一样
$('<div id="test" class="a b"></div>').appendTo('body');
$('<div id="test" class="a b"></div>')
将创造新的元素,但不能把它添加到DOM。
要添加该元素,您需要使用append()或appendTo()或insetAfter()或insertBefore()等。
这是更好地使用功能:
function createElement(el, target) {
$(el).appendTo(target);
}
使用的功能,如:
createElement('<div id="test" class="a b"></div>', 'body');
您也可以新创建的元素添加到任何其他目标,而不是body
。
我认为以下功能将帮助您:
function createElement(el, prop, target) {
var props = prop.split('.'),
newelement = $(el),
id = '',
className = '';
$.each(props, function(i, val) {
if(val.indexOf('#') >= 0) {
id += val.replace(/^#/, '');
} else {
className += val + ' ';
}
});
if(id.length) newelement.attr('id', id);
if(className.length) newelement.attr('class', className.trim());
$(newelement).html('Newly born').appendTo(target);
}
createElement('div', '#test.a.b', '#con'); // will work for #test.a.b or, .a.b or, #test.a
DEMO
[jQuery是否可以通过选择器创建元素?](https://stackoverflow.com/questions/3518650/can-jquery-create-an-element-by-a-selector ) – KyleMit