1

在下面的代码中,我正在做各种事情,但我现在看到的是,我为每个菜单项 href 分配了与我正在创建的每个元素的 id 名称相同的名称。

$(".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');
}

});

这就是我为每个菜单项 href 分配与我正在创建的每个元素的 id 名称相同的名称的方式:

    $(this).attr("href",$(".span6").attr("id"));

我现在需要为每个人创建一个新的唯一 ID 名称<div id="content" class="span6"></div>

我知道它已经调用了一个 id#content但我正在使用点击删除它$('#content').removeAttr('id');

如何每次生成新的唯一 ID?

在另一个使用php的模板中我这样做:<?php $a = 1; ?>然后<div class="span6" id="<?php echo "i".$a; ?>">在一个循环中,<?php $a++; ?>但在我的情况下使用jquery?

另外我认为我需要对第一个和最后一个做一些事情,<div id="content" class="span6"></div>因为它们已经设置了一个 id #content,这些 id 仅在下一次点击时被删除,所以创建一个新的 id 将导致有 2 个 id我猜是第一个和最后一个。

4

1 回答 1

1

您可以使用函数来测试可用的第一个 ID。

function setId(elem)
{
    var first = 0;
    while($('#i'+first).length > 0) first++;
    elem.setAttr('id', 'i'+first);
}

//Usage:
setId(myJqueryObject);
于 2013-02-07T00:56:59.793 回答