-2

这就是我在<div id = 'book'>....</div>. 不幸的是,它没有像我预期的那样创建任何 img 标签。错误是什么?确认路径包含值。

$('#book').append('<img src ="' + paths[1] + '" style = "width:100%;height:100%;top:1px;left:1px" alt = "flip book" id = "logo-cover" />');

更新:

这可能是由于 path[1] 值,它使用 for 循环来迭代一个数组,它可能是一个空值,但它应该被跳过,因为我在追加之前检查过...

整个脚本

    <script>
function load_pages(page) {
    $.ajax({
        type: "GET",
        url: "scandir.php",
        data: "page=" + page,
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $.each(data, function(i,paths){
                    var status = 'nonFinal';
                    if (paths[0] == '' && i == 'next'){
                        status = 'suspectFinal';
                    }
                    if (paths[1] == '' && i == 'next' && status == 'suspectFinal'){
                        status = 'final';
                        page--;
                        load_pages(page);
                        status == 'nonfinal'
                    }
                    else{
                        if (paths[0] != ''){
                            console.log('method called'); 
                            $('#book').append($('<img>').attr('src',paths[0]).css({'width':'100%','height':'‌​100%','top':1px;}).attr('id','logo-cover'));
                        }

                        if (paths[1] != ''){
                            console.log('method2 called'); 
                            $('#book').append($('<img>').attr('src',paths[1]).css({'width':'100%','height':'‌​100%','top':1px;}).attr('id','logo-cover'));
                        }
                    }
            });
            }
    });
}
    $(document).ready(function(){
    var inputPage = '1';
    if (inputPage == '1'){
        inputPage = '2';
    }

    load_pages(inputPage);
    });

</script> 
4

2 回答 2

2

您发布的代码是正确的,我用它来创建这个工作 jsFiddle:http: //jsfiddle.net/Ah87q/

您应该检查是否paths[1]不为空,或者您应该在其他地方找到错误。

于 2012-12-06T09:13:36.587 回答
0

检查代码是否被调用的一种方法是向“append()”方法添加某种回调函数。虽然它没有,但我们将这样模拟它:

$('#book').append('<img src ="' + paths[1] + '" style = "width:100%;height:100%;top:1px;left:1px" alt = "flip book" id = "logo-cover" />').each(function(){ 

console.log('method called'); 
// or with an alert
alert('method called'); 

});

如果根本没有调用它,则问题可能在于使用 id 而不是类('#' 而不是 '.')或类似的东西。此外,此方法可能会在元素“#book”加载之前调用,因此您可能希望将代码放入

$(文档).ready(函数(){

});

于 2012-12-06T09:16:46.777 回答