Javascript .append inside.html在jquery中不起作用

Javascript .append inside.html在jquery中不起作用,javascript,jquery,Javascript,Jquery,我正在尝试使用.append for循环显示多个数据。 我需要所有的数据被替换为第二次点击一些其他数据由.html函数 这是我的代码,需要更多解释 $(".content").html(function(){ for(var l=1; l<4 ; l++) $(".content").append("Event-"+l+"<br>"+player.activity[l].desc+"<br>"); } 所以基本上我想把我的约翰尼的活动换成莫尼的 我还

我正在尝试使用.append for循环显示多个数据。 我需要所有的数据被替换为第二次点击一些其他数据由.html函数

这是我的代码,需要更多解释

$(".content").html(function(){
  for(var l=1; l<4 ; l++)
    $(".content").append("Event-"+l+"<br>"+player.activity[l].desc+"<br>");
 }
所以基本上我想把我的约翰尼的活动换成莫尼的

我还尝试交换了.html inside.append之类的方法,该方法工作正常,但.appnd inside.html不起作用。它将Mony的数据添加到johny的数据中

有什么建议吗?

函数在
.html
方法中。只有字符串

您的
for
应该完全按照您的意愿执行。不要在
.html
的函数中放置:

for(var l=1; l<4 ; l++)
  $(".content").append("Event-"+l+"<br>"+player.activity[l].desc+"<br>");
}

更新

最好构建一个字符串并只更改一次DOM。这将减少DOM访问

var html = "";
for(var l=1; l<4 ; l++)
  html += "Event-"+l+"<br>"+player.activity[l].desc+"<br>";
}
$(".content").html(html);

这段代码有很多错误

1) .html()的参数应为字符串,而不是函数

2) 玩家是阵法玩家。活动[l]无效

如果要查看所有描述:以下是解决方案

for(var i=0; i<player.length ; i++){
     for(var j=0; j<player[i].length ; j++){

        $(".content").append("Event-"+j+"<br>"+player[i].activity[j].desc+"<br>");
     }
    }
for(var i=0;i表示:

从jQuery1.4开始,
.html()
方法允许通过传递函数来设置html内容

因此,是的,您可以在
.html()
中使用函数。该函数必须返回一个字符串,该字符串将是元素的内容

$(".content").html(function(){
    var content = "";
    for (var l = 1; l < 4 ; l++) {
        content += "Event-" + l + "<br>" + player.activity[l].desc + "<br>";
    }
    return content;
 });
$(“.content”).html(函数(){
var-content=“”;
对于(var l=1;l<4;l++){
内容+=“事件-”+l+“
”+player.activity[l].desc+”
”; } 返回内容; });
为什么不离开
外部
.html
s功能?对不起,是的,允许。我已更新。
返回
应该是used@phtsthnx表示答案。我使用了empty.html方法。但这不是传递函数。实际上只传递字符串。在函数()中,您返回的是字符串。the.html()方法实际上是用字符串调用的。不,我们不是调用函数,只是传递它。请注意,
.html()
调用中没有函数调用运算符,但您不能否认.html()有参数字符串。我们可以用多种方式编写代码。但最后必须是StringWell,jQuery函数将在内部调用我们的函数,该调用当然会生成一个字符串。Thnx供您参考。但是我想用另一个信息块替换一个信息块,我可以通过在for循环之前放置.html(“”)来实现
$(".content").html(function(){
  var html = "";
  for(var l=1; l<4 ; l++)
    html += "Event-"+l+"<br>"+player.activity[l].desc+"<br>";
  }
  return html;
});
for(var i=0; i<player.length ; i++){
     for(var j=0; j<player[i].length ; j++){

        $(".content").append("Event-"+j+"<br>"+player[i].activity[j].desc+"<br>");
     }
    }
$(".content").html(function(){
    var content = "";
    for (var l = 1; l < 4 ; l++) {
        content += "Event-" + l + "<br>" + player.activity[l].desc + "<br>";
    }
    return content;
 });