Как использовать метод jQuery $ .each для вывода правильного HTML? - PullRequest
2 голосов
/ 23 февраля 2010

HTML:

<div id="twitter" style="float:left;">
    <span></span>
</div>

JQuery:

        var obj = JSON.parse(data);

        $.each(obj.items, function (i, item) {
            $("span", this).html("('<p>" + item.title + "</p>')").appendTo("#twitter");
            if (i == 5) return false;
        });

Я, очевидно, делаю что-то не так, и не могу понять это. Я знаю, что метод $ .each работает, поскольку я могу поставить оповещение (item.title) и получить ожидаемый результат.

По сути, все, что я хочу сделать, это перебрать элемент и вывести:

<p> title </p>
<p> title 2 </p>

Я просто не могу понять это

Ответы [ 2 ]

5 голосов
/ 23 февраля 2010
   var obj = JSON.parse(data); 

    $.each(obj.items, function (i, item) { 
        $("<p>" + item.title + "</p>").appendTo("#twitter > span"); 
        if (i == 5) return false; 
    });
1 голос
/ 23 февраля 2010

Не зная, как выглядит ваш JSON, трудно сказать, что вы должны делать:

$(obj.items).each(function(i,o){
  $("<p>").text(o.title).appendTo("#twitter > span");
  if (i == 5) return false;
});

Или, возможно, даже:

for (var i = 1; i <= 5; i++) {
  $("<p>").text(o[i].title).appendTo("#twitter > span");
}

В действительности, немного странно помещать абзацы в теги span.

...