如何在jQuery中创建div元素?


当前回答

d = document.createElement('div');
$(d).addClass(classname)
    .html(text)
    .appendTo($("#myDiv")) //main div
.click(function () {
    $(this).remove();
})
    .hide()
    .slideToggle(300)
    .delay(2500)
    .slideToggle(300)
    .queue(function () {
    $(this).remove();
});

其他回答

从jQuery1.4开始,您可以将属性传递给自封闭元素,如下所示:

jQuery('<div>', {
    id: 'some-id',
    class: 'some-class some-other-class',
    title: 'now this div has a title!'
}).appendTo('#mySelector');

在文档中

示例可以在jQuery1.4发布:你必须知道的15个新特性中找到。

<div id="foo"></div>

$('#foo').html('<div></div>');

$(HTMLelement)可以使其成功。如果您想要epmty div,请将其用作$('<div></div>');。也可以通过相同的方法设置其他元素。如果您想在创建后更改内部HTML,可以使用HTML()方法。对于获取outerHTML作为字符串,您可以使用如下方式:

var element = $('<div/>');
var innerHTML = element.html(); // if you want set new HTML use it like this element.html('<b>new HTML</b>');
var outerHTML = element[0].outerHTML;

我希望这对代码有帮助。:)(我使用)

function generateParameterForm(fieldName, promptText, valueType) {
    //<div class="form-group">
    //<label for="yyy" class="control-label">XXX</label>
    //<input type="text" class="form-control" id="yyy" name="yyy"/>
    //</div>

    // Add new div tag
    var form = $("<div/>").addClass("form-group");

    // Add label for prompt text
    var label = $("<label/>").attr("for", fieldName).addClass("control-label").text(promptText);

    // Add text field
    var input = $("<input/>").attr("type", "text").addClass("form-control").addClass(valueType).attr("id", fieldName).attr("name", fieldName);

    // lbl and inp => form
    $(form).append(label).append(input);

    return $(form);
}

如果它只是一个空div,这就足够了:

$("#foo").append("<div>")

or

$("#foo").append("<div/>")

它给出了相同的结果。