#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
, а не anid
. Или просто используйте: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 Заставили это работать 🙂 большое спасибо, ребята, на самом деле кое-чему научились оттуда.