JQuery一次附加两个元素并动态更新

JQuery一次附加两个元素并动态更新,jquery,append,Jquery,Append,有没有办法改变以下内容以使其正常工作 for (var i = 0; i < data[1].length; i++) { $("#results").append($("<div><a href='"+data[3][i]+"' target='_blank'></a></div>").text(data[1][i])); $("#results").append($("<p>&l

有没有办法改变以下内容以使其正常工作

for (var i = 0; i < data[1].length; i++) {
            $("#results").append($("<div><a href='"+data[3][i]+"' target='_blank'></a></div>").text(data[1][i]));
            $("#results").append($("<p></p>").text(data[2][i]
            ));       

          }
但是在这种情况下,我不能针对每个单独的
元素或
文本


我的目标是动态添加
div
元素,其中包含
a
p
元素。如果有人对如何实现这一点有任何其他想法,我将不胜感激,因为我被难倒了。提前感谢。

您可以在创建元素的同时合并元素的内容。尝试使用下面的函数而不是
text()
函数在html元素中添加内容

  for (var i = 0; i < data[1].length; i++) {
    $("#results")
        .append("<div><a href='" + data[3][i] + "' target='_blank'>" + data[1][i] + "</a></div>")
        .append("<p>" + data[2][i] + "</p>");
}
for(变量i=0;i”);
}

您可以在创建元素的同时合并元素的内容。尝试使用下面的函数而不是
text()
函数在html元素中添加内容

  for (var i = 0; i < data[1].length; i++) {
    $("#results")
        .append("<div><a href='" + data[3][i] + "' target='_blank'>" + data[1][i] + "</a></div>")
        .append("<p>" + data[2][i] + "</p>");
}
for(变量i=0;i”);
}

您错误地嵌套了一些括号,因此其中一个
.text()
应用于错误的DOM元素并覆盖了已附加的数据。(特别是
文本(数据[1][i])
正在覆盖

您可以将所有内容整合到一个字符串中,然后一次追加所有内容,就像@Tanmay的回答一样——这是一种很好的方法,而且通常很方便。这里有一个替代方案,它分别构造节点和属性,在某些情况下可能更可读/可维护

//这是一个奇怪的数据结构。考虑重构。
风险值数据=[
[],
[“链接1”、“链接2”、“链接3”],
[“第1款”、“第2款”、“第3款”],
["/1", "/2", "/3"]
]
对于(var i=0;i

您错误地嵌套了一些括号,因此其中一个
.text()
应用于错误的DOM元素并覆盖了已附加的数据。(特别是
文本(数据[1][i])
正在覆盖

您可以将所有内容整合到一个字符串中,然后一次追加所有内容,就像@Tanmay的回答一样——这是一种很好的方法,而且通常很方便。这里有一个替代方案,它分别构造节点和属性,在某些情况下可能更可读/可维护

//这是一个奇怪的数据结构。考虑重构。
风险值数据=[
[],
[“链接1”、“链接2”、“链接3”],
[“第1款”、“第2款”、“第3款”],
["/1", "/2", "/3"]
]
对于(var i=0;i


谢谢是的,这种格式似乎更好。你会认为其中一些会出现在文档中吗?或者我应该知道这一点。这只是跟踪当前正在修改的节点的问题——当您同时执行一系列嵌套规则时,很容易失去跟踪。谢谢,是的,这种格式看起来更好。你会认为其中一些会出现在文档中吗?或者我应该知道这一点……这只是跟踪当前正在修改的节点的问题——当您同时执行一系列嵌套规则时,很容易失去跟踪。