$(document).ready(function() {
$('a.menuitem').click(function() {
var arr = 0;
var link = $( this ), url = link.attr( "href" );
var newDiv = $( document.createElement( 'div' ) )
$( "#content_pane" ).append( newDiv );
newDiv.load( url );
return false;
});
});
正如您所看到的,我正在创建一个div
并向其中添加一些内容,我如何为每个div
创建一个唯一的ID,例如section1,section2,section3等?
答案 0 :(得分:24)
只需使用计数器:
var section = 1;
$(function() {
$("a.menuitem").click(function() {
...
$("<div></div>").attr("id", "section" + section++).appendTo("#content_pane");
...
return false;
});
});
另外,我建议按照上面的说法创建元素。
答案 1 :(得分:17)
从jQuery 1.9 UI开始,有一个$().uniqueId()
函数,它设置一个唯一的id属性(如果没有定义id):
http://api.jqueryui.com/uniqueId/
(请注意,这需要在jQuery之上使用jQueryUI。)
答案 2 :(得分:3)
你不应该这样做。如果你可以将id存储在变量中,你也可以在变量中存储元素本身(以及对元素的引用)。
答案 3 :(得分:3)
现在Backbone.js已经普及,如果你加入它,你可以自动访问Underscore,只需使用:Underscore: uniqueId。
或者单独包含它,它非常轻巧,并且具有一些很棒的功能