jQuery .html()没有更新定位div

时间:2011-12-31 21:58:34

标签: jquery

我对此感到厌烦...我正在使用jQuery http://slidesjs.com插件生成“幻灯片放映”。没什么好看的,除了我想通过ajax调用插入幻灯片的内容。一切正常,通过ajax请求的html被成功检索,没有错误,除了持有文本的div没有得到更新。换句话说,下面的$().html(data)行什么都不做。我做错了什么?

以下是代码的简化版本

<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>

1 个答案:

答案 0 :(得分: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页面前面有 ..