jquery - 无法追加 div 和更改显示模式

标签 jquery html css

我有一个 ID 为 controlContainer 的 div,还有另外 3 个 div,其 displaynone 并且我我使用 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/

相关文章:

html - 定位 3 个 div,使它们看起来好像放在 3 列的表格行中

javascript - 如何防止 CSS 渲染阻塞我的网站?

jquery - JS/JQuery : How to switch class several times in a loop way?

javascript - 更好的性能、空元素或使用 Javascript 创建和销毁?

html - 使用 CSS3 设置内容中页

css - 调整 div 框元素的 css 位置

css - Bootstrap3 div 位置和排序

javascript - jQuery 选择框显示/隐藏 div

javascript - 如何让 jQuery 效果按顺序运行,而不是同时运行?

javascript - 如何让 map 工具提示默认显示而不是在鼠标悬停时显示?