使用JavaScript嵌套DIV
我正在尝试在另一个DIV内单击按钮加载DIV,再次单击按钮,它将在新创建的DIV内创建一个新DIV。这是我的小提琴:和我的代码: HTML:使用JavaScript嵌套DIV,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试在另一个DIV内单击按钮加载DIV,再次单击按钮,它将在新创建的DIV内创建一个新DIV。这是我的小提琴:和我的代码: HTML: 0 JavaScript: int level=1; function nestDiv() { document.getElementById('x'+(level-1)).innerHTML="<div id='x"+level+"'>"+level+"</div>"; level++; if(leve
0
JavaScript:
int level=1;
function nestDiv()
{
document.getElementById('x'+(level-1)).innerHTML="<div id='x"+level+"'>"+level+"</div>";
level++;
if(level==5)
//do somthing
}
int-level=1;
函数nestDiv()
{
document.getElementById('x'+(级别1)).innerHTML=“”+级别+”;
级别++;
如果(级别==5)
//干坏事
}
我还想在嵌套级别达到5时执行一些特殊操作。我对JavaScript不是很在行。那么请告诉我如何实现这一点?以下是如何在
jQuery
中附加div
:
var newDiv = $("<div id='x"+level+"'>"+level+"</div>");
$('#x'+(level-1)).append(newDiv);
var newDiv=$(“”+level+“”);
$('#x'+(一级)).append(newDiv);
这将取代您的
文档。getElementById…
行根据您的问题,我的理解是:
单击按钮时,将一个div添加到另一个div
现在,当用户单击另一个按钮时,必须在先前创建的新div中添加新div
让我们把它分解一下:
$("button").click(function() {
if($("#referenceDivId").children().length == 0) {
// if there are no children initially
$("#referenceDivId").append("<div>New div</div>");
} else if($("#referenceDivId").children().length == 5) {
// do your magic when children divs are 5
}
else {
// if it already had children
$("#referenceDivId").find("div:last").append("<div>New div</div>");
}
});
$(“按钮”)。单击(函数(){
if($(“#referenceDivId”).children().length==0){
//如果最初没有孩子
$(“#referenceDivId”)。追加(“新div”);
}else if($(“#referenceDivId”).children().length==5){
//当孩子们5岁时,施展你的魔法
}
否则{
//如果它已经有孩子了
$(“#referenceDivId”).find(“div:last”).append(“New div”);
}
});
在代码中,只需将
int更改为var
并将函数作为变量调用:
var level=1;
nestDiv = function()
{
document.getElementById('x'+(level-1)).innerHTML="<div id='x"+level+"'>"+level+"</div>";
level++;
}
var级别=1;
nestDiv=函数()
{
document.getElementById('x'+(级别1)).innerHTML=“”+级别+”;
级别++;
}
awesome@adeneo。请添加代码作为您的答案。不,现在随时都会有人窃取它并发布,或者发布更好的内容。如果没有,你可以自己发布并接受答案。Nice one@adeneo我采用了不同的方法,尽管javascript中没有
int
,只有var
和const
,所以使用int
是一个语法错误感谢纯JS解决方案。但是,您能告诉我如何使用var
而不是int
对输出产生如此大的影响吗?当然,您可以在这里看到parseInt函数。谢谢@mohamedrias+1但我用NEOLPAR标记了答案,因为adeneo和NEOLPAR给出的答案是纯JS的。)谢谢@Nicolas78+1但我用NEOLPAR标记了答案,因为adeneo和NEOLPAR给出的解决方案是纯JS的。)
var level=1;
nestDiv = function()
{
document.getElementById('x'+(level-1)).innerHTML="<div id='x"+level+"'>"+level+"</div>";
level++;
}