Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
Count columns in each grid row - Javascript

Is it possible to count columns in each grid row? Rows can be dynamic.

let grid = document.querySelector('.grid');
let columns = document.querySelectorAll('.column');
let button = document.querySelector('button');
.grid {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-items: start;
  grid-gap: 10px;
}

.grid div {
  border: 1px solid #000;
  width: 100%;
}

.grid > *:nth-child(3n-1):nth-last-of-type(1) {
  border-color: red;
  grid-column: span 2;
}

.grid > *:nth-child(3n-2):nth-last-of-type(1) {
  border-color: red;
  grid-column: span 3;
}

.grid > *:nth-child(3n-1) {
  justify-self: center;
}

.grid > *:nth-child(3n) {
  justify-self: end;
}

.result {
  border: 1px solid black;
  margin: 10px 0;
}

button {
  margin: 40px 0;
}

p {
  color: green;
}
<div class="grid">
  <div class="column">1</div>
  <div class="column">2</div>
  <div class="column">3</div>
  <div class="column">4</div>
</div>

<br />

Row 2
<div class="grid">
  <div class="column">1</div>
  <div class="column">2</div>
</div>
<br />

<div class="result">
  <p>Row 1:</p>
  <small>Columns:</small><br />
</div>
<div class="result">
  <p>Row 2:</p>
  <small>Columns:</small><br />
</div>

Stackblitz: https://stackblitz.com/edit/js-1hzwpx?file=index.html

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Use querySelectorAll to select all elements with class column, then get the length of the NodeList:

const columns = document.querySelectorAll('.grid .column').length
console.log(columns)
<div class="grid">
  <div class="column">1</div>
  <div class="column">2</div>
  <div class="column">3</div>
  <div class="column">4</div>
</div>

about 4 years ago · Juan Pablo Isaza Report

0

Here is a solution, I added an id to the first grid tag:

Row 1
<div class="grid" id="grid-1">
  <div class="column">1</div>
  <div class="column">2</div>
  <div class="column">3</div>
  <div class="column">4</div>
</div>
const grid1 = document.getElementById('grid-1');

// logs the number of columns in the first grid
console.log(grid1.children.length)

Just adapt it to your need.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!