Catching last div from a div

3

Considering this structure:

<div id="PAI">
  <div uniqid="1" class="filho">A</div>
  <div uniqid="2" class="filho">A</div>
  <div uniqid="3" class="filho">A</div>
  <div uniqid="4" class="filho">A</div>
  <div uniqid="5" class="filho">A</div>
</div>

I need to get the div of number of uniqid = 5 ie always the last one of div with id PAI how to do?

    
asked by anonymous 04.06.2015 / 01:18

2 answers

6

You can use element.lastElementChild that when applied to the parent element gives the that you want, the last element.

example: link

var pai = document.getElementById("PAI");
var ultimoFilho = pai.lastElementChild;
ultimoFilho.style.backgroundColor = 'green';
<div id="PAI">
    <div uniqid="1" class="filho">A</div>
    <div uniqid="2" class="filho">A</div>
    <div uniqid="3" class="filho">A</div>
    <div uniqid="4" class="filho">A</div>
    <div uniqid="5" class="filho">A</div>
</div>
    
04.06.2015 / 06:29
1

You can use document#querySelector() .

Getting the last element by class .filho :

var last = document.querySelector(".filho:last-child");
last.style.color = 'red';
<div id="PAI">
  <div uniqid="1" class="filho">A</div>
  <div uniqid="2" class="filho">A</div>
  <div uniqid="3" class="filho">A</div>
  <div uniqid="4" class="filho">A</div>
  <div uniqid="5" class="filho">A</div>
</div>

Getting the last div within #PAI :

var last = document.querySelector("#PAI div:last-child");
last.style.color = 'red';
<div id="PAI">
  <div uniqid="1" class="filho">A</div>
  <div uniqid="2" class="filho">A</div>
  <div uniqid="3" class="filho">A</div>
  <div uniqid="4" class="filho">A</div>
  <div uniqid="5" class="filho">A</div>
</div>

Obtaining the element by uniqid=5 :

var last= document.querySelector("[uniqid='5']");
last.style.color = 'red';
<div id="PAI">
  <div uniqid="1" class="filho">A</div>
  <div uniqid="2" class="filho">A</div>
  <div uniqid="3" class="filho">A</div>
  <div uniqid="4" class="filho">A</div>
  <div uniqid="5" class="filho">A</div>
</div>
    
04.06.2015 / 09:31