If I use grid-template-columns: repeat(3, 1fr) to place a number of HTML elements into a 3-column grid, is it possible to find an element's column with JavaScript? Some of the elements span multiple rows as well, so the element's index won't necessarily match its column.
For example:
const myElement = document.querySelector('div:nth-child(5)');
myElement.style.background = '#f00';
const columnIndex = 1; // How do I find this?
console.log('myElement is in column ' + columnIndex);
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 30px;
}
.item,
.item-large {
padding: 30px;
background: #3cf;
}
.item-large {
grid-row: span 2;
}
<div class="grid">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item-large"></div>
<div class="item">Which column am I in?</div>
<div class="item-large"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>