jQuery不在具有动态名称的div中循环

jQuery不在具有动态名称的div中循环,jquery,arrays,dynamic,Jquery,Arrays,Dynamic,我试图循环遍历一组“楼层”,为每个楼层创建一个按钮,为“房间”div创建一个容器,然后遍历这些容器并填充“房间”。基本上我想从一个数组中创建一组div,然后在数组中创建一组div 当我创建容器时,我给它们一个增量id,容器是roomPref;是的,我意识到有一种叫做roomContainer的东西,现在是偶然的: $.each(floors, function(index, value) { $(document.getElementsByClassName("floorPref")).

我试图循环遍历一组“楼层”,为每个楼层创建一个按钮,为“房间”div创建一个容器,然后遍历这些容器并填充“房间”。基本上我想从一个数组中创建一组div,然后在数组中创建一组div

当我创建容器时,我给它们一个增量id,容器是roomPref;是的,我意识到有一种叫做roomContainer的东西,现在是偶然的:

$.each(floors, function(index, value)
{
    $(document.getElementsByClassName("floorPref")).append('<a>' + value + '</a> <div class="roomContainer"> <div class="roomPref" id="roomPref'+value+'"> </div> </div>');
});
然后,我尝试按id迭代并填充房间,但无论出于何种原因,它都不起作用:

$.each(floors, function(index1, value1)
{
    $.each(rooms, function(index2, value2)
    {
        $(document.getElementById('roomPrefB'+value1)).append('<a>' + value2 + '</a>');
    });
});
目前,我正在使用伪阵列进行测试,如下所示:

var floors = [];
for(i = 0; i < 11; i++)
{
    floors[i] = "B";
    floors[i] += i+1;
}
var rooms = [];
for(i = 0; i < 100; i++)
{
    rooms[i] = i+1;
}
知道追加到命名元素roomPrefB1确实有效可能会很有用,而通过按类名获取来追加到所有元素会填充所有元素,这让我相信我编写动态名称“roomPrefB”+value1的方式可能有问题,除非我尝试了几种方法,而且这一种似乎是正确的


提前谢谢你的帮助。

原来我是个白痴。楼层数组中的值是Bx,我试图将它们附加为x。谁看到了,没有奖品。

也显示你的html。。然后我尝试迭代jquery找不到-$document。getElementById'roomPrefB'+value1不是jquery-是javascript找不到'roomPrefB1'。出于好奇,尝试将其更改为$roomPrefB+Value1,我这样做了,它具有相同的效果-jQuery方法有优势吗?是的-正如您发现的那样,这不是问题所在。一般来说,不要将“getElementById”之类的javascript命令与jquery之类的命令混合使用,因为它们看起来很笨重,而且更难使用。id和.class更容易处理。我建议你删除这个问题,这样你就不会有太多的downvotes了,而只是通过小提琴找到的。您正在尝试查找不存在的roomPrefBB11。