【问题标题】:Loop through JQuery object循环遍历 JQuery 对象
【发布时间】:2014-11-30 14:30:12
【问题描述】:

我对 JQuery 比较陌生。假设我有一个这样的 divs 结构:

<div class='quater'>
  <div id='a' class='target'></div>
  <div id='b' class='target'></div>
  <div id='c' class='no_target'></div>
</div>

我想添加一个检索类“目标”ID 的 onClick 函数。

我试过了:

$('.quater').on('click', function(){
    var $value = $(this).children('.target');
    $value.each(function(){
        alert(this.attr('id'));
   });
});

但它返回:undefined is not a function

遍历这些元素以检索其 id 的正确方法是什么?

【问题讨论】:

    标签: javascript jquery loops each


    【解决方案1】:

    尝试在包装好的 jQuery 对象上调用 .attr() 函数,

    alert($(this).attr('id'));
    

    这是一个纯 JavaScript 对象,它不包含名为 .attr() 的成员函数

    完整的代码是,

      $('.quater').on('click', function() {
        var $value = $(this).children('.target');
        $value.each(function() {
          alert($(this).attr('id'));
        });
      });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    <div class='quater'>test
      <div id='a' class='target'></div>
      <div id='b' class='target'></div>
      <div id='c' class='no_target'></div>
    </div>

    【讨论】:

    • TNX 很多,显然就像一个魅力,那么它是遍历 JQuery 选定元素的正确方法吗?我的意思是使用 $variable 来保存集合并使用 .each() 函数遍历它是否正确?
    • @Plastic 是的。顺便说一句,很高兴为您提供帮助。!
    • @Plastic 是的,在变量中缓存遍历的元素集合通常是一个很好的做法。在您即将开展的项目中继续这样做。
    • 再次感谢,您的回答将在 5 分钟内被接受^^
    猜你喜欢
    • 2023-03-26
    • 2017-01-29
    • 2018-09-26
    • 1970-01-01
    • 2020-06-09
    • 2020-11-08
    • 1970-01-01
    • 2020-04-30
    • 2017-06-12
    相关资源
    最近更新 更多