JQuery создать уникальный идентификатор - PullRequest
12 голосов
/ 30 ноября 2009
$(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, для которого создается уникальный идентификатор, что-то вроде section1, section2, section3 и т. Д.?

Ответы [ 4 ]

24 голосов
/ 30 ноября 2009

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

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

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

17 голосов
/ 14 мая 2013

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

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

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

3 голосов
/ 04 июня 2012

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

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

3 голосов
/ 30 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...