javascript - jquery div 在手前关闭并且是空的

标签 javascript jquery html

我有这个脚本,主要问题是当我 console.log(schema ) 时,它显示包含所有 uldiv.tableSpaces > 元素,但是当我使用 .html(schema) 时,它会关闭 div

function getdatabase(event) {
    var a = $(event).val();
    $.ajax({
        type: "POST",
        url: 'getDatabaseSchema',
        data: {
            'adapter': a
        },
        dataType: 'JSON',
        success: function(data) {
            console.log(data);
            var schema = [];
            $.each(data.table, function(k, v) {
                schema.push("<div class='col-md-5 tableSpaces'>");
                schema.push("<h4>" + k + "</h4>");
                var str = "<ul class=''>";
                $.each(v, function(key, val) {
                    str += "<li>" + val + "</li>";
                });
                str += "</ul>";
                schema.push(str);
                schema.push("</div>");
            })
            console.log(schema);
            $("#tablebox").fadeIn();
            $("#tables").html(schema);
        }
    });
}

我得到了什么

             <div id="tables">
  <!--  See this Div Closes  without any of the h4 or ul  elements within it -->
        <div class="col-md-5 tableSpaces"></div> <-----------------
        <h4>user_department_map</h4>
        <ul class="">
        <li>id</li><li>dep_id</li>
        <li>user_id</li>
        <li>dept_head</li>
        </ul>
        <div>

我在使用 ul 时遇到了类似的问题,然后我不得不将它添加到一个字符串中

我需要什么

<div id="tables">
  <!--  See here the div incases the h4 an ul elements-->
        <div class="col-md-5 tableSpaces">
        <h4>user_department_map</h4>
        <ul class="">
        <li>id</li><li>dep_id</li>
        <li>user_id</li>
        <li>dept_head</li>
        </ul>
       </div>
        <div>

最佳答案

使用Array.join()在将其设置为 .html()

之前创建一个字符串
 $("#tables").html(schema.join(''));

var schema = [];
schema.push("<div class='col-md-5 tableSpaces'>");
schema.push("<h4>Heading</h4>");
schema.push("<ul class=''>");
schema.push("<li>" + 1 + "</li>");
schema.push("</ul>");
schema.push("</div>");

$("#tables").html(schema.join(''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tables">
  <div>

关于javascript - jquery div 在手前关闭并且是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806938/

相关文章:

html - Chrome 中的图像链接框关闭

php - 使用 .htaccess 使所有 .html 页面作为 .php 文件运行?

jquery - 使用 jquery 自动提交表单不起作用

jquery - PHP 无法读取我通过 ajax 使用 JQuery 发送的文件

javascript - Aurelia 中的 Angular 2 EventEmitter

JavaScript 指令没有像我想象的那样工作

javascript - 如何在 Vue.js 中获取购物车商品的总价格并乘以数量

javascript - 使用 jQuery 删除两个 html 标签之间的文本

javascript - Spring-Boot Controller 无法识别来自 ajax 的数据

javascript - Handlebars 单引号问题