Javascript 元素传播

Javascript 元素传播,javascript,html,jquery,dom,element,Javascript,Html,Jquery,Dom,Element,我创建了一个元素填充器,它接受某些元素,将它们包装在HTML标记中,并将它们附加到容器中。我的问题是,如果有什么麻烦的话,那就是要加载的每个图像都必须自动输入。有没有办法从文件夹中检索所有图像并将其加载到数组中 我有这个代码,它可以工作,但需要手动输入: $(window).on('load', function () { var gallery = document.getElementById("grid"); var images = [

我创建了一个元素填充器,它接受某些元素,将它们包装在HTML标记中,并将它们附加到容器中。我的问题是,如果有什么麻烦的话,那就是要加载的每个图像都必须自动输入。有没有办法从文件夹中检索所有图像并将其加载到数组中

我有这个代码,它可以工作,但需要手动输入:

    $(window).on('load', function () {

    var gallery = document.getElementById("grid");
    var images = [
        "./imgs/galeria/0.jpg",
        "./imgs/galeria/1.jpg",
        "./imgs/galeria/2.jpg",
        "./imgs/galeria/3.jpg",
        "./imgs/galeria/4.jpg",
        "./imgs/galeria/7.jpg",
        "./imgs/galeria/6.jpg",
        "./imgs/galeria/5.jpg",
        "./imgs/galeria/8.jpg",
        "./imgs/galeria/9.jpg",
        "./imgs/galeria/10.jpg",
        "./imgs/galeria/11.jpg",
        "./imgs/galeria/12.jpg",
        "./imgs/galeria/13.jpg",
        "./imgs/galeria/14.jpg",
        "./imgs/galeria/15.jpg",
        "./imgs/galeria/16.jpg",
        "./imgs/galeria/17.jpg",
        "./imgs/galeria/18.jpg",
        "./imgs/galeria/19.jpg",
        "./imgs/galeria/20.jpg"
    ];

    for (var i = 0; i < images.length; i++) {

        var thumbnailWrapper = document.createElement("div");

        thumbnailWrapper.className = "thumbnail-wrapper";

        var thumbnail = document.createElement("div");

        thumbnail.className = "thumbnail";

        thumbnail.dataset.source = "./imgs/galeria/" + i + ".jpg";

        thumbnailWrapper.appendChild(thumbnail);

        gallery.appendChild(thumbnailWrapper);
    }

    var thumb = document.getElementsByClassName('thumbnail');
    // console.log(thumb);

    for (j = 0; j < images.length; j++) {
        // $(thumb[j]).attr('src', images[j]);
        $(thumb[j]).css('background-image', 'url(./imgs/galeria/thumbs/' + j + 'tbm.jpg)');
        // console.log(j);
        // console.log(images[j]);
    }
$(窗口).on('load',函数(){
var gallery=document.getElementById(“网格”);
变量图像=[
“/imgs/galeria/0.jpg”,
“/imgs/galeria/1.jpg”,
“/imgs/galeria/2.jpg”,
“/imgs/galeria/3.jpg”,
“/imgs/galeria/4.jpg”,
“/imgs/galeria/7.jpg”,
“/imgs/galeria/6.jpg”,
“/imgs/galeria/5.jpg”,
“/imgs/galeria/8.jpg”,
“/imgs/galeria/9.jpg”,
“/imgs/galeria/10.jpg”,
“/imgs/galeria/11.jpg”,
“/imgs/galeria/12.jpg”,
“/imgs/galeria/13.jpg”,
“/imgs/galeria/14.jpg”,
“/imgs/galeria/15.jpg”,
“/imgs/galeria/16.jpg”,
“/imgs/galeria/17.jpg”,
“/imgs/galeria/18.jpg”,
“/imgs/galeria/19.jpg”,
“/imgs/galeria/20.jpg”
];
对于(var i=0;i
您可以在我在“galeria”一节中制作的这篇文章中看到实际的脚本

编辑:也许是ajax的问题?我想把php排除在外

EDIT2:我想使用ajax,这是正确的代码

您不能使用客户端JavaScript扫描服务器上的文件夹。如果您不知道文件夹包含哪些文件,那么ajax本身甚至不起作用

您必须使用服务器端代码(如PHP)来查找文件夹中的所有文件,并以某种方式将它们传递给客户端。这是我看到的唯一方法

这种方法可以在以下方面发挥作用:

$images=glob('imgs/galeria/*.jpg');
回声';
foreach($key=>$image的图像){
回声';
回声';
回声';
}
回声';

我希望这能像你的JavaScript代码一样工作。

我不知道你在哪里使用AJAX。还有,你为什么要使用
document.write
document.getElementsByClassName
和jQuery同时使用?函数require(path)但在函数体“jspath”中-WTF?该文件夹仅包含图像、所有.jpgs和有序的数字文件名OK,但最好的解决方案仍然是服务器端代码。否则,每次增加数字时,您都必须发出请求,直到服务器发送404。这将是非常丑陋的。那么..php…您可以帮助我吗?在您当前拥有 id为
网格的div
元素。PHP代码在交付页面之前将内部div放入容器中,而不是用JavaScript动态填充容器。