在下面的代码中,我正在做各种各样的事情,但我现在正在看的是,我正在为每个菜单项分配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"));
我现在需要为每个<div id="content" class="span6"></div>
我知道它已经有一个名为#content
的ID,但是我使用$('#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。
答案 0 :(得分:1)
您可以使用功能测试第一个可用的ID。
function setId(elem)
{
var first = 0;
while($('#i'+first).length > 0) first++;
elem.setAttr('id', 'i'+first);
}
//Usage:
setId(myJqueryObject);