使用jQuery添加元素的正确机制

时间:2011-02-13 21:57:09

标签: jquery

我正在使用jQuery动态地向下拉列表中添加元素,但我认为我正在混合语法并希望使用纯jQuery。目前我正在这样做:

$("#data-source-menu").addClass("menu-container") .html($("<ul class=\"popup-menu\" id=\"dataset-menu\"><\/ul>"));

之后

$("#dataset-menu").append($("<div>" + dataset.label + "<\/div>").addClass("menu-item").attr(dataset));

这是我不喜欢的html的内部构建。是否有更抽象的方法来处理这个不涉及编写HTML的方法?类似JavaScript的document.createTextNode("Hello")

1 个答案:

答案 0 :(得分:3)

那应该更好:

$('#data-source-menu').addClass('menu-container').html(
    $('<ul/>').addClass('popup-menu').attr('id', 'dataset-menu').append(
        $('<div/>').text(dataset.label).addClass('menu-item')
    )
);

这里是the live demo