1

私はこのようなことをしていますが、スタイルを整えるのは少し面倒です。テンプレートを使用するような他の方法はありますか?

   <div id="resultpanel"></div>

    <script>
    function parseData(jsonresults){
        var results = JSON.parse(jsonresults);
        jQuery("#resultpanel").empty();

        for(var i=0;i<results.length;i++){
            var divph = document.createElement("div");
            var img = document.createElement("img");
            var p = document.createElement("p");

            img.src=results[i].logoname;
            p.innerHTML=results[i].perigrafh;
            jQuery(divph).append(img);
            jQuery(divph).append(p);            
            jQuery("#resultpanel").append(divph);   

        }       
     }
    </script>

ありがとうございました

4

4 に答える 4

1

JSON 形式でデータをクエリすると、より簡単になります: cf. $.getJSON() http://api.jquery.com/jQuery.getJSON/ したがって、すべてを要約すると

$.getJSON(sourceUrl, function(results){
    elems=result.map(function(o){return "<div><img src='"+o.src+"'></img><p>"+o.perigrafh+"</p></div"});
    $("#resultpanel").html(elems.join(""));
});
于 2013-04-28T19:03:40.823 に答える
1

underscore templatesかなり単純なものを調べることも、より複雑なものについてはmustache.jshandlebars.jsなどを調べることもできます。

于 2013-04-28T17:59:26.697 に答える
1

この方法で試すことができます。

var html = "<div><img src=" + results[i].logoname + "/><p>" + results[i].perigrafh + "</p></div>"; 
jQuery("#resultpanel").append(html);

これは、それを行う別の方法にすぎません。

おそらく、json オブジェクトを返す代わりに、サーバー側で html を生成し、それを返して結果を追加することもできます。

于 2013-04-28T18:03:49.020 に答える