Jquery,使用自定义ID创建表标记,然后再引用该ID并向其添加新标记

时间:2018-04-18 21:15:00

标签: javascript jquery

所以基本上我想追加一个<表>标记为<体>使用自定义ID然后在我的代码中引用带有自定义ID的表并附加< tr>,< td>,或<第>它。

以下是一个例子:

dataHold = data[1].split("@")[1]; //just imagine this as "yahoo.com"

                if( !hold.includes( dataHold ) )
                {
                    $("body").append
                    (
                        "<table id='"+dataHold+"'>"+
                            "<tr>"+
                                "<th>"+dataHold+"</th>"+
                            "</tr>"+
                        "</table>"
                    );

                    $( "#"+dataHold ).append
                    (
                        "<tr>"+
                            "<td>"+data[1]+"</td>"+
                            "<td>"+data[2]+"</td>"+
                            "<td>"+data[3]+"</td>"+
                        "</tr>"
                    );
                }

它附加&lt;表&gt;标签,但由于某种原因&lt; TR&GT;标签附加不起作用,我无法弄清楚为什么。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

当您的代码与此代码段隔离时,您的代码工作正常:

var dataHold = "testId";
var data = ["foo", "bar", "carrots", "broccoli"];

$("body").append(
  "<table id='" + dataHold + "'>" +
  "<tr>" +
  "<th>" + dataHold + "</th>" +
  "</tr>" +
  "</table>"
);

$("#" + dataHold).append(
  "<tr>" +
  "<td>" + data[1] + "</td>" +
  "<td>" + data[2] + "</td>" +
  "<td>" + data[3] + "</td>" +
  "</tr>"
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

在使用jQuery选择器函数('$')之前,请确保已正确包含jQuery库。此外,在您喜欢的浏览器中使用内置调试器,以确保dataHolddata的值完全符合您的预期。如果它们是nullundefined,则可能会在字符串连接中出现错误,导致您的行未被追加。

答案 1 :(得分:0)

您的jQuery代码很好,所以问题在于您的变量或缺少jQuery的包含。确保您已加载jQuery,并且您的三个变量(holddatadataHold)实际上已解决。不要忘记hold 应该包含dataHold来输入if条件。

以下代码段显示此工作正常(所有变量设置正确):

&#13;
&#13;
const hold = data = [2, 3, 4, 5];
const dataHold = 1;

if (!hold.includes(dataHold)) {
  $("body").append(
    "<table id='" + dataHold + "'>" +
    "<tr>" +
    "<th>" + dataHold + "</th>" +
    "</tr>" +
    "</table>"
  );

  $("#" + dataHold).append(
    "<tr>" +
    "<td>" + data[1] + "</td>" +
    "<td>" + data[2] + "</td>" +
    "<td>" + data[3] + "</td>" +
    "</tr>"
  );
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;