【问题标题】:How to iterate through jQuery elements如何遍历 jQuery 元素
【发布时间】:2012-03-17 22:16:11
【问题描述】:

我希望能够查看 jQuery 找到的标签内的内容。以下怎么不起作用?

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

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

【问题讨论】:

  • @gdoron - 我的错字。编辑太晚了,所以我删除了评论。

标签: javascript jquery html parsing syntax


【解决方案1】:
  • $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);
 });

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2011-03-02
      • 1970-01-01
      相关资源
      最近更新 更多