Нумерация идентификаторов Divs

#jquery #html

#jquery #HTML

Вопрос:

Я собрал немного кода, но застрял, так как хочу сделать что-то довольно простое, но, похоже, это не работает.

 <!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div class="right"></div>
<div class="right"></div>
<div class="right"></div>
<script>
$('div.right').each(function(ii){
     html = $(this).html();
     $(this).html(ii   html);
});
</script>

</body>
</html>
  

Я хочу, чтобы числа, которые были выведены, были идентификаторами Divs.

Комментарии:

1. вы не можете начинать идентификатор элемента с числа, если я не ошибаюсь; таким образом, вам нужно будет сделать что-то вроде this.id = "r" ii;

2. @Joseph вы ошибаетесь в контексте HTML5 (обратите внимание на тип документа HTML5).

3. @MattBall Ах! забыл об этом изменении… Мне, вероятно, тоже нужно будет напомнить 50 раз, прежде чем я вспомню. XD Спасибо за разъяснение!

4. чтобы быть более конкретным, я получил список divs, которым необходимо получить идентификаторы (в основном для каждого второго div требуется другой идентификатор), поэтому я могу расположить их слева и справа, используя css.

5. @strupp: похоже, вам нужен a class , а не an id . Или просто используйте :nth-child(odd) :nth-child(even) селекторы / CSS, если вы можете отказаться от поддержки IE<9.

Ответ №1:

это $.html HTML-содержимое div. Если вы хотите изменить идентификатор, вам придется использовать $.attr .

 $(this).attr('id',ii);
  

$.attr расшифровывается как «атрибут», допустим, вы хотите изменить атрибут id элемента html, который вы введете, $(element).attr('id', 'new id'); если хотите изменить, скажем, имя класса, которым оно будет $(element).attr('class', 'New class');

Комментарии:

1. .prop() следует использовать вместо .attr() более новых версий jQuery.

2. почему бы нам просто не использовать естественный DOM? O_o вы можете просто сделать this.id = "myId";

3. нет, вам не нужно. Что бы вы ни вводили в функцию attr(‘id’, …) или prop(‘id’, …), оно будет использоваться как идентификатор. Он добавит новый идентификатор или изменит старый.

4. [ jsfiddle.net/sgPMY/7 /][1] [1]: jsfiddle.net/sgPMY/7 Заставили это работать 🙂 большое спасибо, ребята, на самом деле кое-чему научились оттуда.