5

div 内のテキストを xml ファイル内のノードからのテキストに置き換えるには、リスト項目をクリックする必要があります。

リスト項目をクリックして、結果を変数に保存します。次に、xml をロードし、必要なノードのタイトルを見つけて、結果の変数を作成します。次に、2 つの変数が等しい場合に xml を div に入れる if ステートメントを実行します。

リスト項目を初めてクリックすると、これが機能します。リスト内の正しい項目が xml 内の正しいノードと照合され、正しいテキストが div に配置されます。

しかし、別のリスト項目をクリックしても、テキストは置き換えられません。アラートは、2 回目のクリックで正しい情報が得られたことを示していますが、最終的に div コンテンツは置き換えられません。

デモはこちら: http://mwebphoto.com/mwebphoto/html/3rdJqueryPage.html

ここにコード:

<body>

<div class="slideshowContainer">
<div id="slideshow"></div>
</div>

<ul id="gallery_id">
  <li id="newYork">New York</li>
  <li id="disconnection">Disconnexion</li>
  <li id="jackAtSea">Jack at Sea</li>
</ul>

<script>

  $(document).ready(function(){ 

  $("#gallery_id li").on('click', function(e) {

     var htmlTitle = (this.id);

$.ajax({
  type: "GET",
    url: "/mwebphoto/xml/albums.xml",
    dataType: "xml",
    success: function(xml) {
        $(xml).find('photoAlbum').each(function(){
            var xmlAlbum= $(this);
            var xmlTitle = $(this).find('title').text();
            var xmlEmbedCode = $(this).find('embedCode').text();
                alert ('this is html titled  ' + htmlTitle);
                alert ('this is xml titled  ' + xmlTitle);
            if(xmlTitle=htmlTitle)

             alert ('this is matched xml title' + xmlTitle);

         $("#slideshow").replaceWith(xmlTitle);

        });
    }
});
});

});

  </script>
</body>

助けていただければ幸いです。私は軽く尋ねません。私はこれに何時間も費やし、考えられるあらゆる方法で調査しました。私は非常に単純なものを見逃していますが、それを見つけることができません。

4

2 に答える 2

10

div 全体を XML の ID に置き換えているため、最初に実行した後$("#slideshow")はもう存在しません。

必要なものは次のtext()とおりです。

$("#slideshow").text(xmlTitle);

またはhtml()、html を追加する場合:

$("#slideshow").html(xmlTitle);
于 2013-08-07T16:03:15.980 に答える
0

これがあなたの問題だと思います:

if(xmlTitle=htmlTitle)

に変更してみてください

if(xmlTitle==htmlTitle)

また、 orに置き換えることreplaceWithをお勧めします。htmltext

于 2013-08-07T16:06:01.003 に答える