简体   繁体   中英

I want each div of the same class to choose their children

I have 2 div and they have the same class "meal". When I press the add button in the second div, it chooses the first title of the first div I want each div of the same class to choose their children

 let meal = document.querySelector(".meal"); let tit = meal.childNodes[3]; $(".btnAdd").on("click", function() { console.log(tit.innerText); })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="meal"> <img src="" height="250" width="500" class="mealImg"> <h4 class="title">Title</h4> <button class="btnAdd">Add</button> <i class="far fa-heart" id="favIcn"></i> </div> <div class="meal"> <img src="" height="250" width="500" class="mealImg"> <h4 class="title">Title</h4> <button class="btnAdd">Add</button> <i class="far fa-heart" id="favIcn"></i> </div>

Since you're already using jQuery, why not use it across the board and leverage the use of siblings() ?

 $('.btnAdd').on('click', function() { console.log($(this).siblings('.title').text()); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="meal"> <img src="" height="250" width = "500" class="mealImg"> <h4 class = "title">Title</h4> <button class="btnAdd">Add</button> <i class="far fa-heart" id="favIcn"></i> </div> <div class="meal"> <img src="" height="250" width = "500" class="mealImg"> <h4 class = "title">Title 2</h4> <button class="btnAdd">Add</button> <i class="far fa-heart" id="favIcn"></i> </div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM