Подтвердить что ты не робот

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, который создал уникальный идентификатор, что-то вроде раздела 1, section2, section3 и т.д.

4b9b3361

Ответ 1

Просто используйте счетчик:

var section = 1;
$(function() {
  $("a.menuitem").click(function() {
    ...
    $("<div></div>").attr("id", "section" + section++).appendTo("#content_pane");
    ...
    return false;
  });
});

Кроме того, я бы предложил создать элемент в соответствии с приведенным выше.

Ответ 2

Начиная с jQuery 1.9 UI существует функция $().uniqueId(), которая устанавливает уникальный атрибут id (если идентификатор уже не определен):

http://api.jqueryui.com/uniqueId/

(Обратите внимание, что для этого требуется jQueryUI поверх jQuery.)

Ответ 3

Вам не нужно это делать. Если вы можете сохранить идентификатор в переменной, вы можете сохранить сам элемент (ну, ссылку на элемент) в переменной.

Ответ 4

Теперь, когда Backbone.js приобрел популярность, если вы включите его, вы автоматически получите доступ к Underscore, просто используйте: Подчеркивание: uniqueId.

Или включите его сам по себе, он довольно легкий и имеет несколько отличных функций