Javascript 为每个元素动态创建新的唯一ID

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

在下面的代码中,我正在做各种事情,但我现在看到的是,根据我创建的每个元素的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.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”));