我对此感到厌烦...我正在使用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>
答案 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页面前面有# ..