Jquery 将随机div类插入到id中

Jquery 将随机div类插入到id中,jquery,Jquery,之前我使用Math.random()将随机图像加载到div中。我想再次使用它,但我不是jQuery专家,我不知道这是否可行。我有一些绝对定位的div id,还有一些我想随机选择并加载到这些id中的类(.content)。因此: <div id="veh1" class="abs"></div> <div id="veh2" class="abs"></div> .abs { position: absolute } <div class=

之前我使用Math.random()将随机图像加载到div中。我想再次使用它,但我不是jQuery专家,我不知道这是否可行。我有一些绝对定位的div id,还有一些我想随机选择并加载到这些id中的类(.content)。因此:

<div id="veh1" class="abs"></div>
<div id="veh2" class="abs"></div>

.abs { position: absolute }

<div class="content">ONE</div>
<div class="content">TWO</div>
<div class="content">THREE</div>
<div class="content">FOUR</div>

.content { display: none }

.abs{位置:绝对}
一个
两个
三
四
.content{显示:无}
到头来

<div id="veh1" class="abs"><div class="content" style="display: block">TWO</div></div>
<div id="veh2" class="abs"><div class="content" style="display: block">FOUR</div></div>
2
四
我知道我可以用相关的Math.random()和.show()脚本做类似的事情


一个
两个
三
四

我可以对每个ID和各种预定内容进行加载,尽管这有点违背了完全随机的观点,我怀疑这是最好的方式。我四处搜索,但没有找到如何做到这一点的例子。

这应该让您开始:

var count = $('.content').length,
    rnd = Math.round(Math.random()*count);
    $randomDiv = $('.content').eq(rnd);

$randomDiv.css({ color: 'red' }); //do stuff with the randomly selected div
这将导致如下结果:

$('div.abs').each(function(i, el){
     //do the random stuff in here
     $(el).append($randomDiv);
});
别忘了检查是否已经插入了某个
.content
div(我只是假设您不希望这样)

我觉得这样更好

$('.abs').each(function () {
    var el = $('div.content').eq(Math.round(Math.random() * $('div.content').length))
    $(this).append(el)
    el.remove();
});

谢谢你的提琴。但我想尝试实现一个随机选择的.content加载到随机选择的div id#veh1、#veh2、#veh3(也可以有.abs类)中,以此类推。可能有10个div id和50.contents,其中10个插入到id中,其余隐藏。这似乎有道理吗?目前,我只能考虑使用您或Patryk的答案在特定ID中随机加载特定内容。很难说这是否有意义,因为我不知道您想要实现什么。但我已经给你们展示了一些简单的随机化。然后,如果要移动/隐藏/显示/克隆元素,则由您决定。我想你应该能弄明白。如果没有,请让我知道,我一定要用比原来更简单的方法来处理这个问题。帕特里克的代码也能用,但我不能同时回答这两个问题,甚至不能向上投票。所以我会把这个标记为已回答。为建议干杯,这符合预期。有时,尽管在页面刷新时返回一个空白div。在这种情况下,只执行var rand=Math.floor(Math.random()*$('.selector').length)似乎更好$('.selector').eq(rand.show();使用css作为选择器显示:无
$('.abs').each(function () {
    var el = $('div.content').eq(Math.round(Math.random() * $('div.content').length))
    $(this).append(el)
    el.remove();
});