JQuery将元素附加到div

时间:2017-05-15 00:54:09

标签: jquery

我正在做一些代码,我需要将标签附加到div然后将其附加到正文。

我运行程序,我看到div已创建,但标签无法附加到div:

这是我的代码

var divName = "div-isoparameters";

function createComponents() {
    createDiv();
    createLabels(divName);
}

function createDiv() {
    var $div = $('<div />').appendTo('body');
    $div.attr('id', divName);
    $div.attr('class', divName);
    $div.css("display","block");
}

function createLabels(divName) {
    for (var i = 0; i < 10; i++) {
        var $label = $("<label>").text( "label something: ");
        //Create the input element
        var $input = $('<input type="text">').attr({ id: 'something', name: 'something' });

        //Insert the input into the label
        $input.appendTo($label);

       $(divName.id).append($label);
    }
}

我不知道我做错了什么,因为我将div附加到身体然后我将所有标签附加到div

2 个答案:

答案 0 :(得分:1)

您的问题出在最后一行代码中:

        $(divName.id).append($label);

这不是您按ID选择项目的方式。如果你知道项目ID,你可以在jQuery中选择它,方法是在{1}}字符前添加一个字符。

例如,如果div的ID为#

labelHolder

所以你有两个选择:

手动预装交叉线:

 $('#labelHolder').append($label);

或者,您可以通过调用$('#' + divName).append($label); 来检索元素。这是我的首选,因为它更清楚你正在做什么。

document.getElementById(...)

答案 1 :(得分:0)

{ Domain : 1 }, { partialFilterExpression : { Status : 5 } }

您忘记在div名称上添加$("#"+divName).append($label); 。我还删除了#,因为您已经传递了.id的ID名称。基本上你得到了DOM div-isoparameters