Javascript 为每个元素动态创建新的唯一ID
在下面的代码中,我正在做各种事情,但我现在看到的是,根据我创建的每个元素的id名称,我为每个菜单项href指定了相同的名称Javascript 为每个元素动态创建新的唯一ID,javascript,jquery,Javascript,Jquery,在下面的代码中,我正在做各种事情,但我现在看到的是,根据我创建的每个元素的id名称,我为每个菜单项href指定了相同的名称 $(".nav li a").on("click", function(e) { $(this).attr("href",$(".span6").attr("id")); $('#content').removeAttr('id'); var $row = $(".span9"); var $rowNew = $('.new'); if ($rowNew.childre
$(".nav li a").on("click", function(e) {
$(this).attr("href",$(".span6").attr("id"));
$('#content').removeAttr('id');
var $row = $(".span9");
var $rowNew = $('.new');
if ($rowNew.children().length > 1) {
$(".span9 div").removeClass("new");
$('<div class="row-fluid new"></div>').prependTo($row);
}
if ($(".new").length == 0) {
$('<div class="row-fluid new"></div>').prependTo($row);
$('<div id="content" class="span6"></div>').appendTo('.new');
} else {
$('<div id="content" class="span6"></div>').appendTo('.new');
}
});
我现在需要为每个
我知道它已经有一个名为#content
的id,但我正在使用$('#content')单击删除它代码>
如何每次生成新的唯一ID
在另一个使用php的模板中,我这样做:
然后您可以使用一个函数来测试第一个可用的ID
function setId(elem)
{
var first = 0;
while($('#i'+first).length > 0) first++;
elem.setAttr('id', 'i'+first);
}
//Usage:
setId(myJqueryObject);
您可以使用函数测试第一个可用ID
function setId(elem)
{
var first = 0;
while($('#i'+first).length > 0) first++;
elem.setAttr('id', 'i'+first);
}
//Usage:
setId(myJqueryObject);
unix秒数是一个方便的数字,可以根据它来确定您的id。在另一个使用php的模板中,我会:''那么'你确定你需要所有这些id和类吗?这些类,是的。唯一的id用于为菜单生成锚定,这就是为什么我需要将href设置为每个id。我认为这里根本不需要id,只需将新创建的元素保留在数组中并引用它们,还可以使用.data()
保留随机数据。unix秒数可以作为id的基础。在另一个使用php的模板中,我会:''那么'你确定你需要所有这些id和类吗?这些类,是的。唯一的id用于为菜单生成锚定,这就是为什么我需要将href设置为每个id。我认为这里根本不需要id,只需将新创建的元素保留在数组中并引用它们,还可以使用.data()
将此应用于我的案例?可能setId($('#content')
而不是$('#content')。removeAttr('id')代码>?如果这不是您想要做的,请告诉我,我可能会误解您需要在何处放置唯一ID。我需要为生成唯一ID,但首先我需要保留ID=内容。老实说,我所需要做的就是为我的菜单项创建href,这样我就可以将它们锚定到每个框,所以我想创建唯一的id,但我不仅不知道如何创建唯一的id,我还有一个问题,我已经有了一个id(我使用ajax将内容加载到内容中,然后单击即可删除id内容,所以这很好,因为我将永远不会有2个内容)。问题是生成锚,我认为您的href值缺少a:$(this).attr(“href”,“#”+$(.span6”).attr(“id”)
。我如何将此应用到我的案例中?可能是setId($($)(.content'));
而不是$('#content')。removeAttr('id'));
?告诉我,如果这不是您想要做的,我可能会误解您需要在哪里放置唯一ID。我需要为生成唯一ID,但首先我需要保持ID=content。老实说,我需要做的就是为我的菜单项创建href,以便我可以将它们锚定到每个框,所以我想创建唯一ID,但不仅仅是我不知道如何创建唯一的id,我还有一个问题,就是我已经有了一个id(我使用ajax将内容加载到内容中,然后单击就删除id内容,所以这很好,因为我永远不会有2个内容)。问题是生成锚,我认为你的href值缺少一个#:$(this.attr(“href”),“#”+$(.span6”).attr(“id”));
。