如何迭代jQuery元素

时间:2012-03-17 22:16:12

标签: javascript jquery html parsing syntax

我希望能够看到jQuery找到的标签内部有什么。为什么以下不起作用?

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

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

  • $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 :(得分:1)

jQuery each迭代中的当前元素可以通过this(而不是$this)进行访问。

然而,有一点需要注意:jQuery迭代中的this是指每个元素的底层DOM对象,不是 jQuery对象。您可以使用此代码,然后:

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

您不需要在每次迭代时从原始DOM对象构建jQuery对象 - 元素的内部HTML已经存在于DOM对象中,并且不需要额外的工作。