Как перебирать элементы jQuery - PullRequest
0 голосов
/ 18 марта 2012

Я хочу видеть, что находится внутри тегов, которые находит jQuery. Почему следующее не работает?

 $("div.UIImageBlock_Content.UIImageBlock_ICON_Content").each ( function() {
     alert(($this).html);
 });

Как правильно это сделать?

Ответы [ 2 ]

2 голосов
/ 18 марта 2012
  • $this => $(this)
  • .html => .html()

Так должно быть:

$("div.UIImageBlock_Content.UIImageBlock_ICON_Content").each ( function() {
     alert($(this).html());
 });

Обратите внимание, что функция html() просто использует свойство innerHTML, поэтому она может быть намного проще:

$("div.UIImageBlock_Content.UIImageBlock_ICON_Content").each ( function() {
     alert(this.innerHTML);
 });
1 голос
/ 18 марта 2012

К текущему элементу в итерации jQuery each можно получить доступ через this (не $this).

Однако есть небольшое предупреждение: this в итерации jQuery относится кбазовый объект DOM каждого элемента, не объект jQuery.Затем вы можете использовать этот код:

$("div.UIImageBlock_Content.UIImageBlock_ICON_Content").each ( function() {
    alert(this.innerHTML);
});

Вам не нужно создавать объект jQuery из необработанного объекта DOM на каждой итерации - внутренний HTML-код элемента уже присутствует в объекте DOM, и естьнет необходимости в дополнительной работе.

...