打开不同的div来自同一个函数

时间:2014-10-17 10:21:46

标签: javascript jquery

我尝试从同一个函数打开不同的div,我的想法是在每次单击时更改div的名称以生成随机div并调用每个div

我的剧本:

function load_edit(id,data)
{
var number = 1 + Math.floor(Math.random()*9999999);
//alert("ok"+number);
jQuery(".db_edit_float_content").attr("id","db_edit_float_content"+number); 
jQuery("#db_edit_float_content"+number).slideDown(2000);
jQuery(""+id).show(1000).load("edit.php"+data);
}

代码HTML:

<div onclick="load_edit("template","source")"></div>

<div id="" class="db_edit_float_content" style="display:none;">
<div id="db_edit_content">
<div id="db_edit_content_header" onclick="close_load_edit();"></div>
<div id="db_edit_content_body">
</div>
</div>
</div>

脚本运行完美,但每次点击都没有得到不同的div,只显示一个,而且没有更多,我认为必须有效,因为id的名称改变,但没有得到最终正常工作

感谢您的帮助,最好的问候

1 个答案:

答案 0 :(得分:0)

因为你要为所有div分配相同的随机id,然后使用id选择器,它总是只获取具有所述id的第一个元素,导致总是返回第一个div。

而是使用随机索引值来获取div

function load_edit(id, data) {
    var $divs = jQuery(".db_edit_float_content");
    var number = Math.floor(Math.random() * $divs.length);
    $divs.eq(number).slideDown(2000);
    jQuery("" + id).show(1000).load("edit.php" + data);
}