2011-12-31 63 views
0

我被這個騙了...我使用jQuery http://slidesjs.com插件生成「幻燈片放映」。沒有什麼奇特的,除了我想通過ajax調用插入幻燈片的內容。一切正常,通過AJAX請求的HTML成功檢索,沒有錯誤,除了持有文本的div沒有更新。換句話說,下面的$().html(data)行不做任何事。我究竟做錯了什麼?jQuery .html()不更新目標div

下面是代碼的一個非常簡化的版本

<div id="slides"> 
    <div class="slides_container" id="slides_container"></div> 
    <div id="controls"> 
     <a href="#" class="next"><img src="/img/arrow-prev.png"></a> 
     <a href="#" class="prev"><img src="/img/arrow-next.png"></a> 
    </div> 
    <div class="pagination"></div> 
</div> 

<script type="text/javascript"> 
    var FOO = { 
     "Pages": { 
      "0": "Page0", 
      "2": "Text_for_Page_2", 
      "4": "A_Discourse_on_4", 
      "7": "Seven_is_Heaven" 
     } 
    }; 

    $(function() { 
     var str = ""; 
     for (var i = 0; i < 9; i++) { 
      str += '<div class="slide">' + 
        '<div id="#page_' + i + '" class="text"></div>' + 
        '</div>'; 
     } 

     $("#slides_container").html(str); 
    }); 

    $(function(){ 
     $('#slides').slides({ 
      preload: false, 
      effect: 'fade', 
      animationStart: function(current) { 
       if (FOO.Pages[current]) { 
        $.ajax({ 
         url: '/path/to/' + FOO.Pages[current] + '.html', 
         type: 'GET', 
         dataType: 'text', 
         success: function(data) { 

          // The following line does nothing 
          $("#page_" + current).html(data); 
         } 
        }); 
       } 
      } 
     }); 
    }); 
</script> 
+0

目標程序的項目擺在首位存在嗎? – 2011-12-31 22:01:32

回答

4

錯字在下面函數

` $(function() { 
    var str = ""; 
    for (var i = 0; i < 9; i++) { 
     str += '<div class="slide">' + 
       '<div id="#page_' + i + '" class="text"></div>' + 
       '</div>'; 
    } 

    $("#slides_container").html(str); 
    }); 

`

變化

'<div id="#page_' + i + '" class="text"></div>' + '</div>';

'<div id="page_' + i + '" class="text"></div>' + '</div>';

注:DIV ID頁面有前吧..

+3

我很尷尬。對不起浪費帶寬,但謝謝,否則我會浪費餘下的這一年,想知道我做錯了什麼。 – punkish 2011-12-31 22:05:15