jquery创建一个唯一的id

时间:2009-11-29 23:16:06

标签: javascript jquery

$(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等?

4 个答案:

答案 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

或者单独包含它,它非常轻巧,并且具有一些很棒的功能