Javascript jquery创建一个唯一的id

Javascript jquery创建一个唯一的id,javascript,jquery,Javascript,Jquery,正如您所见,我正在创建一个div并向其添加一些内容,我如何为创建的每个div提供一个唯一的id,如section1、section2、section3等?只需使用计数器: $(document).ready(function() { $('a.menuitem').click(function() { var arr = 0; var link = $( this ), url = link.attr( "href" ); var newDiv = $(

正如您所见,我正在创建一个
div
并向其添加一些内容,我如何为创建的每个
div
提供一个唯一的id,如section1、section2、section3等?

只需使用计数器:

$(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;
  });
});
var段=1;
$(函数(){
$(“a.menuitem”)。单击(函数(){
...
$(“”).attr(“id”,“section”+section++).appendTo(“内容窗格”);
...
返回false;
});
});

另外,我建议按照上面的方法创建元素。

您不需要这样做。如果您可以将id存储在变量中,那么您也可以将元素本身(对元素的引用)存储在变量中。

既然Backbone.js已经流行起来,如果您将其包括在内,您就可以自动访问just use:


或者单独包含它,它非常轻量级,有一些很棒的功能

从jQuery 1.9UI开始,有一个
$().uniqueId()
函数,它设置一个唯一的id属性(如果没有定义id):


(请注意,这需要jQueryUI位于jQuery之上。)

为什么需要它?你不能传递节点而不是它的ID吗?我需要它,因为如果我只是让它创建,那么当它被删除时,我无法获得正确的div。我不明白。那么,你如何获得身份证?@sico87:strager提出了一个有效的观点。有比创建虚假的
id
值更好的方法。如果您不喜欢保存对元素的引用,那么使用它在父元素中的位置作为您在此处创建的div列表的索引如何?一些常见的第三方库只接受元素ID(遗憾的是,不接受引用,仅限于SaaS脚本)。下面mar10的建议(对于jQuery1.9+)在这种情况下是理想的。在某些情况下存储对div对象的引用是不实际的。例如?我的观点是,你要存储并传递一个字符串,这样你就可以得到一个元素的引用,你也可以传递元素本身。我如何在多个变量中创建多个DIV的onclick?我需要这个,因为这是唯一的方法,我可以考虑在点击链接时从页面中删除元素多个变量?谢谢,这太完美了,我不知道这个函数。用例:与需要传递元素ID的第三方映射库集成。有了这个,我就可以循环我标记为映射的每个元素,并调用它为它们分配ID,然后传递给map libs init方法。这就是jQuery UI,一个运行在jQuery之上的用户界面库。你说得对,谢谢,我将编辑答案以使其更清楚
var section = 1;
$(function() {
  $("a.menuitem").click(function() {
    ...
    $("<div></div>").attr("id", "section" + section++).appendTo("#content_pane");
    ...
    return false;
  });
});