我有一个 ID 为 controlContainer
的 div,还有另外 3 个 div
,其 display
为 none
并且我我使用 jQuery 附加和前置它们,并将 display
模式更改为 block
但它不起作用。
$(document).ready(function() {
var i = 1;
if (i = 1) {
var group = $('#beforeUpload').clone().attr("id", "beforeUpload" + i);
$(group).css("Display", "block");
$(group).appendTo("#controlContainer");
var group2 = $("#uploadHeading").clone().attr("id", "uploadHeading" + i);
$(group).css("Display", "block");
$("#beforeUpload" + i).prepend(group2);
var group5 = $('#afterUpload').clone().attr("id", "afterUpload" + i);
$(group).css("Display", "block");
$(group5).appendTo("#beforeUpload" + i);
}
});
<div id="controlContainer">
<h1>Main Container</h1>
</div>
<div id="beforeUpload" style="display: none;">
<h2>It will append to "Main Container" and this is Before Upload</h2>
</div>
<div id="uploadHeading" style="display: none;">
<h4>It will prepend to "Main Container" and this is Upload Heading</h4>
</div>
<div id="afterUpload" style="display: none;">
<h3>It will append to "Main Container" and this is After Upload</h3>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
最佳答案
正如@Rory McCrossan 所说:
1.显示
需要为显示
。
2.您在多个位置重复使用了 group
变量,而不是正确的 groupN
变量。
3.if (i = 1) {//赋值
需要是if (i == 1) {//比较
更正该错误,您的代码就可以正常工作。
工作片段:-
$(document).ready(function () {
var i = 1;
if (i == 1) { //check with ==
var group = $('#beforeUpload').clone().attr("id", "beforeUpload" + i);
$(group).css("display", "block");
$(group).appendTo("#controlContainer");
var group2 = $("#uploadHeading").clone().attr("id", "uploadHeading" + i);
$(group2).css("display", "block"); // need to be group2 instead of group
$("#beforeUpload" + i).prepend(group2);
var group5 = $('#afterUpload').clone().attr("id", "afterUpload" + i);
$(group5).css("display", "block");// need to be group5 instead of group
$(group5).appendTo("#beforeUpload" + i);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="controlContainer">
<h1>Main Container</h1>
</div>
<div id="beforeUpload" style="display: none;">
<h2>It will append to "Main Container" and this is Before Upload</h2>
</div>
<div id="uploadHeading" style="display: none;">
<h4>It will prepend to "Main Container" and this is Upload Heading</h4>
</div>
<div id="afterUpload" style="display: none;">
<h3>It will append to "Main Container" and this is After Upload</h3>
</div>
</body>
</html>
注意:- 尝试使用最新的 jQuery 库
关于jquery - 无法追加 div 和更改显示模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53276543/