我正在做一些代码,我需要将标签附加到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
答案 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
。