JavaScript不会将数据放入div中

时间:2014-12-15 15:48:43

标签: javascript php jquery html

我有一些JS从数据库的PHP文件中获取一些AJAX数据,循环并将其放在HTML中。虽然数据仍然来自PHP,但它现在似乎不太合适了。

Javascript:

    function setDefault(){
    $("#downloads-div").empty();
    $.ajax({url: "action.php?action=fetch_downloads&category=%"}).done(function(data_raw){
      var data = JSON.parse(data_raw);
      for (var i = 0; i < data.length; i++){
        $("#downloads-div").append("<div class='col-md-4'><div class='thumbnail'><h4 class='list-group-item-heading'>" + data[i].title + "</h4><div align='right'><span style='display: inline-block; margin-right: 3px;' class='label label-default'>by " + data[i].author + "</span></div><a href='" + data[i].download_link + "'><img src='" + data[i].image + "' alt='" + data[i].title + "' class='img-thumbnail' align='center'></a><p>" + data[i].description + "</p><a href='" + data[i].download_link + "'><button type='button' class='btn btn-primary'><span class='glyphicon glyphicon-download'></span> Download</button></a></div></div></div></div>");
      }
    });
  };

HTML:

<ul class="downloads-div">

</ul>

有一些其他HTML和JS,但除非按下某些按钮,否则不会调用它,所以并不重要。我没有控制台错误,我正在调用该函数!

运行脚本的页面位于:http://bluecode.org.uk/downloads.php

感谢您的帮助!

问候,

4 个答案:

答案 0 :(得分:2)

您使用的是class not id,因此在您的JS中应该$(".downloads-div")而不是$("#downloads-div")

答案 1 :(得分:0)

使用$(".downloads-div")因为ul有class="downloads-div"

function setDefault(){
    $("#downloads-div").empty();
    $.ajax({url: "action.php?action=fetch_downloads&category=%"}).done(function(data_raw){
      var data = JSON.parse(data_raw);
      for (var i = 0; i < data.length; i++){
        $(".downloads-div").append("<div class='col-md-4'><div class='thumbnail'><h4 class='list-group-item-heading'>" + data[i].title + "</h4><div align='right'><span style='display: inline-block; margin-right: 3px;' class='label label-default'>by " + data[i].author + "</span></div><a href='" + data[i].download_link + "'><img src='" + data[i].image + "' alt='" + data[i].title + "' class='img-thumbnail' align='center'></a><p>" + data[i].description + "</p><a href='" + data[i].download_link + "'><button type='button' class='btn btn-primary'><span class='glyphicon glyphicon-download'></span> Download</button></a></div></div></div></div>");
      }
    });
  };

答案 2 :(得分:0)

由于downloads-div没有idclass,所以将jQuery中的选择器从$("#downloads-div")更改为$(".downloads-div")

答案 3 :(得分:0)

您应该使用类名称引用div,因为您正在使用

所以你的js必须改变像jQuery('.download-div')......