代码之家  ›  专栏  ›  技术社区  ›  Trombone0904

jQuery获取每个div容器和子类的值

  •  -3
  • Trombone0904  · 技术社区  · 8 年前

    我有以下html代码:

    <div class="container">
       <input class="class1" value="class1Text" />
       <span class="class2">class2Text</span>                                                                               
    </div>
    
    <div class="container">
       <input class="class1" value="class1Text" />
       <span class="class2">class2Text</span>                                                                               
    </div>
    
    <div class="container">
       <input class="class1" value="class1Text" />
       <span class="class2">class2Text</span>                                                                               
    </div>
    

    这是我的jQuery代码。容器:

    $( ".container" ).each(function() { 
       // DO SOMETHINGS
    })
    

    但是如何获得每个容器的值和文本形式class1和class2?

    2 回复  |  直到 8 年前
        1
  •  1
  •   j08691    8 年前

    通过结合使用 this .find() 这样地:

    $(".container").each(function() {
      console.log($(this).find('.class1').val());
      console.log($(this).find('.class2').text());
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>
    
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>
    
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>
        2
  •  0
  •   pixlboy    8 年前

    为此需要两个jQuery方法。

    .each -迭代元素数组中的每个元素。

    .children -获取迭代中当前元素的子元素。

    $(".container").each(function() {
        console.log($(this).children('.class1').val());
        console.log($(this).children('.class2').text());
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>
    
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>
    
    <div class="container">
      <input class="class1" value="class1Text" />
      <span class="class2">class2Text</span>
    </div>