Javascript 无法使用jquery显示注释列表

Javascript 无法使用jquery显示注释列表,javascript,jquery,html,Javascript,Jquery,Html,我只是想用下面的方式显示注释列表,但我的代码有问题,无法得到预期的结果。你能检查一下并帮我找出错误吗 我得到以下结果: var item = $('<div>'); $.each(data.results, function(i, res) { var photo = $('<div>'), block1 = $('<div style="float: left;">'), block2

我只是想用下面的方式显示注释列表,但我的代码有问题,无法得到预期的结果。你能检查一下并帮我找出错误吗

我得到以下结果:

var item = $('<div>');

$.each(data.results, function(i, res) {                    

  var photo = $('<div>'),
      block1 = $('<div style="float: left;">'),
      block2 = $('<div>'),
      title = $('<h4>'),
      info = $('<p>');

  photo.html('<img src="xyz">');
  title.html('<hr/>'+res.name+','+res.country);
  info.html(res.comment_text);
  block1.append(photo); 
  block2.append(title, info);                   
  item.append(block1, block2);

});

$("#comments").html(item);

var项=$('');
$.each(data.results,function(i,res){
var photo=$(''),
区块1=$(''),
区块2=$(''),
标题=$(''),
信息=$(“”);
photo.html(“”);
html(“
”+res.name+”、“+res.country”); html(res.comment_text); 区块1.追加(照片); 区块2.追加(标题、信息); 附加项(第1区、第2区); }); $(“#评论”).html(项目);
首先,你的选择器坏了,你有3个变量在调用同一个东西。将此作为选择器的指南另外,了解失败的地方也会很有帮助,也许可以粘贴一些HTML,这样我们可以更好地帮助您

编辑:尝试删除block1和block2变量,查看其外观。使用这些选择器,他们将照片和标题信息附加到第一个div。尝试使用选择器$(this)而不是block1和block2

Edit2:好,那么发生的是您的项目。追加(block1,block2);零件正在将创建的块添加到第一个div

EDIT3:您需要创建一个新的div,并添加新的块,以创建新的“item”,即沿item的行添加(“
”+照片+标题+信息+”


编辑4:在不了解html的情况下,我无法针对您的情况编写任何代码,我只能假设和猜测。

您应该使用样式表而不是内联样式,但本质上您只需要清除正在创建的浮动

更改:

var item = $('<div>');
var项=$('');
致:

var项=$(“”),

在哪里关闭元素?请尝试使用以下代码:

var item = $('<div/>');

$.each(data.results, function(i, res) {                    

    var photo = $('<div/>'),
        block1 = $('<div style="float: left;"></div>'),
        block2 = $('<div/>'),
        title = $('<h4/>'),
        info = $('<p/>');

    photo.html('<img src="xyz"/>');
    title.html('<hr/>'+res.name+','+res.country);
    info.html(res.comment_text);
    block1.append(photo); 
    block2.append(title, info);                   
    item.append(block1, block2);

});

$("#comments").html(item);
var项=$('');
$.each(data.results,function(i,res){
var photo=$(''),
区块1=$(''),
区块2=$(''),
标题=$(''),
信息=$(“

”); photo.html(“”); html(“


”+res.name+”、“+res.country”); html(res.comment_text); 区块1.追加(照片); 区块2.追加(标题、信息); 附加项(第1区、第2区); }); $(“#评论”).html(项目);
这似乎是一个清算问题。您需要清除父div。通过向这些项目添加
clear
类并应用以下CSS,您可以轻松完成此操作:

.clear:after {
    content: "";
    display: table;
    clear: both;
}
这是一本书


如果您提供输出HTML,最好是一把小提琴,这样会更好。现在是你逼我们自己想出来的。让你的问题尽可能清晰、中肯,这样人们会更快、更彻底地回答你。

我已经使用了float:left for block1。照片在div块1内。我还按照您描述的方式编辑了我的代码,但没有任何更改。仍然没有按照您描述的方式得到预期的布局,但仍然没有得到预期的结果。我尝试了这种方式,但没有结果。也许你可以写代码让我明白你的意思。
.clear:after {
    content: "";
    display: table;
    clear: both;
}