我正在尝试使用Javascript将一些<p>
元素添加到div
。该函数循环以创建预定量的这些div
。每次函数运行时都会创建id
的{{1}},并且只是'div'加上一个数字(例如:div
,div1
,div2
等等。)
这是我的代码:
div3
我的问题是,您可以对var divNum = 'div';
function myFunction () {
var divTag = document.createElement("div");
divTag.id = "div";
divTag.className ="info";
document.body.appendChild(divTag);
var idXX = divNum;
$('#div').attr('id',idXX);
var text = document.createElement("p");
text.id = "1";
text.className ="text1-2";
text.innerHTML = "A";
*"PROBLEM HERE"*.appendChild(text);
divNum = divNum + 1;
}
所说的内容进行操作,使其*"PROBLEM HERE"*
附加div
等于我的变种id
吗?
答案 0 :(得分:2)
只需使用divTag
。
这条线看起来像这样:
divTag.appendChild(text);
答案 1 :(得分:2)
我可能误解了这个问题,但在我看来,“问题在这里”这一行应该是这样的:
$('#'+idXX).append(text); // literally doing what you asked
或者只是这个:
divTag.appendChild(text); // better approach since it doesn't have to go look for it.
另外,为什么要创建div然后更改其ID?此外,divNum
被初始化为"div"
,而不是0
,可能是... {/ p>
答案 2 :(得分:0)
如果你想使用jQuery而不是将其与基本javascript混合使用:
var divNum = 'div';
function myFunction () {
var divTag = $("<div>").
.attr("id", divNum)
.addClass("info");
.appendTo($("body"));
$("<p>")
.attr("id", "1")
.addClass("test1-2")
.html("A")
.appendTo(divTag);
divNum = divNum + 1;
}
答案 3 :(得分:0)
看起来像是使用jQuery来设置属性id。
$('#div').attr('id',idXX);
你应该能够在jQuery中做所有事情
var divNum = 0;
function myFunction() {
var _p = $('<p>').text('A').addClass('text-1-2')
$('<div>').attr({'id':'div'.concat(++divNum)}).addClass('info').html(_p).appendTo('body');
}