0

So I want to get the last Id of a div and then convert it into a variable

<div class="margin_bot" id="itemRows2"> 
  <p id="rowNum1">...</p>
  <p id="rowNum2">...</p>
  <p id="rowNum3">...</p>
  <p id="rowNum4">...</p>
  <p id="rowNum5">...</p>
  <p id="rowNum6">...</p>
</div>

So I know you can get the last id in a div with:

$('#itemRows2').children().last().attr('id');

Which returns "rowNum6" so my question is how can I grab just the number 6 and put it into a var like var row1Num in Jquery?

Luca Kiebel
  • 9,790
  • 7
  • 29
  • 44
Rafael Tamayo
  • 362
  • 2
  • 4
  • 15

4 Answers4

1

You can use a simple regex that matches numbers for this:

let id = $('#itemRows2').children().last().attr('id');

let num = Number(id.match(/\d+/));

console.log(num)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="itemRows2"> 
  <p id="rowNum1">...</p>
  <p id="rowNum2">...</p>
  <p id="rowNum3">...</p>
  <p id="rowNum4">...</p>
  <p id="rowNum5">...</p>
  <p id="rowNum6">...</p>
</div>
Luca Kiebel
  • 9,790
  • 7
  • 29
  • 44
0

You could use split() like :

var myId = $('#itemRows2').children().last().attr('id');
var myNumber = myId.split('rowNum')[1];

console.log(myNumber);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="margin_bot" id="itemRows2">
  <p id="rowNum1">...</p>
  <p id="rowNum2">...</p>
  <p id="rowNum3">...</p>
  <p id="rowNum4">...</p>
  <p id="rowNum5">...</p>
  <p id="rowNum6">...</p>
</div>
Zakaria Acharki
  • 66,747
  • 15
  • 75
  • 101
0

You can use regex to split the id by number

let m = $('#itemRows2').children().last().attr('id').trim().split(/(\d+)/)[1]
console.log(m)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="margin_bot" id="itemRows2">
  <p id="rowNum1">...</p>
  <p id="rowNum2">...</p>
  <p id="rowNum3">...</p>
  <p id="rowNum4">...</p>
  <p id="rowNum5">...</p>
  <p id="rowNum6">...</p>
</div>
brk
  • 48,835
  • 10
  • 56
  • 78
-1

var text = $('#itemRows2').children().last().attr('id');

console.log(text.match(/\d/g)[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="margin_bot" id="itemRows2">
  <p id="rowNum1">...</p>
  <p id="rowNum2">...</p>
  <p id="rowNum3">...</p>
  <p id="rowNum4">...</p>
  <p id="rowNum5">...</p>
  <p id="rowNum6">...</p>
</div>
Ashu
  • 2,066
  • 3
  • 19
  • 33