1

これは私の最初の投稿です。皆さん、こんにちは。私はJavaScriptが初めてで、これが私が苦労していることです。おそらく私の質問のタイトルは少しばかげていますが、私が取り組んでいるのは Google Api フィードです。このコードは、すべてのタイトルを 1 つの div に配置し、コンテンツを別の div に配置します。それらが混在するのを見たいです。ご覧いただき、どうぞよろしくお願いいたします。

 <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("feeds", "1");

    function initialize() {
      var feed = new google.feeds.Feed("http://encompassme.com/rss/posts/en.xml");
      feed.setNumEntries(2);
      feed.load(function(result) {
        if (!result.error) {


        var containerTitle = document.getElementById("title");
        var containerContent = document.getElementById("content");

          for (var i = 0; i < result.feed.entries.length; i++) {
            var entry = result.feed.entries[i];

            var div = document.createElement("div");
            var diva = document.createElement("div");

            div.appendChild(document.createTextNode(entry.title)); 
            diva.appendChild(document.createTextNode(entry.content)); 


            containerTitle.appendChild(div);
            containerContent.appendChild(diva);

          }

        }
      });
    }
    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
  <div id="entry">
    <div id="title"></div>
    <div id="content"></div> 
   </div> 
  </body>
</html>

私が得ているもの:

title
title
content
content

私が欲しいもの:

title
content
title
content
4

3 に答える 3

2

次のように、title 要素と div 要素の両方を同じコンテナーに追加するだけです。

containerContent.appendChild(div);
containerContent.appendChild(diva);

実施例

問題は、すべてのタイトルを div に追加し、すべてのコンテンツを別の div に追加していたことです。

何が起こっていたかは次のとおりです。

まず、タイトルとコンテンツを追加しました1:

<div> <!-- Fist div here -->
    Title 1
</div>
<div> <!-- Second div -->
    Content 1
</div>

すべて問題ないように見えますが、別の記事を追加すると、次のようになります。

<div> <!-- Fist div here -->
    Title 1
    Title 2
</div>
<div> <!-- Second div -->
    Content 1
    Content 2
</div>

そして、要素を one<div>に追加するだけでは、追加した順序でそこに配置されるため、次のようになります。

<div> <!-- Fist div here -->
    Title 1
    Content 1
    Title 2
    Content 2
</div>
于 2013-01-29T14:43:56.233 に答える
0

さて、これは順序付けの問題のようですが、次のようになります。

      for (var i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];

        var div = document.createElement("div");
        var diva = document.createElement("div");

        div.appendChild(document.createTextNode(entry.title));    //this places node after div
        diva.appendChild(document.createTextNode(entry.content)); //this places node after diva


        containerTitle.appendChild(div); // append after containerTitle
        containerContent.appendChild(diva); //append after containerContent

      }

containerContent の後に両方を追加します。

        containerContent.appendChild.appendChild(div); // append after containerTitle
        containerContent.appendChild(diva); //append after containerContent
于 2013-01-29T14:46:32.830 に答える
0

フォローしてみる

 <head>
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>
        <script type="text/javascript">

        google.load("feeds", "1");

        function initialize() {
          var feed = new google.feeds.Feed("http://encompassme.com/rss/posts/en.xml");
          feed.setNumEntries(2);
          feed.load(function(result) {
            if (!result.error) {

             var mastercontainer=document.getElementById("master");
          //  var containerTitle = document.getElementById("title");
           // var containerContent = document.getElementById("content");

              for (var i = 0; i < result.feed.entries.length; i++) {
                var entry = result.feed.entries[i];

                var div = document.createElement("div");
                var diva = document.createElement("div");

                div.appendChild(document.createTextNode(entry.title)); 
                diva.appendChild(document.createTextNode(entry.content)); 


                mastercontainer.appendChild(div);
                mastercontainer.appendChild(diva);

              }

            }
          });
        }
        google.setOnLoadCallback(initialize);

        </script>
      </head>

  <body>
  <div id="entry">
    <div id="master"></div>

   </div> 
  </body>
</html>
于 2013-01-29T14:46:54.563 に答える