Кажется, что вы хотите сделать, это выбрать n-го ребенка каждого столбца.Это может быть достигнуто только с помощью JavaScript, в зависимости от используемой вами структуры.Вам также нужно будет использовать класс 'hover', а не состояние ': hover'.В чистом JS:
let table = document.querySelectorAll('.grid-wrapper')[0];
let columns = table.children;
let cells = document.querySelectorAll('.grid-wrapper__nested__row');
// Cycle throug each cell and add an event handler
for(let element of cells) {
// Add mouseenter event handler
element.addEventListener('mouseenter', function() {
// Get index of cell
let index = Array.prototype.indexOf.call(this.parentNode.children, this);
// Loop through each column and add 'hover' class
for(let column of columns) {
// Add hover class to nth-child
column.children[index].classList.add('hover')
}
})
// Add mouseout event handler
element.addEventListener('mouseleave', function() {
for(let column of columns) {
let cells = column.children;
// Loop through each cell and remove hover class
for(let cell of cells) {
cell.classList.remove('hover');
}
}
})
}
См. Скрипку
Если вы используете библиотеку, такую как jQuery, это станет еще проще, поскольку вы можете использовать функцию jquery on('hover', func)
в тандеме с index()
звонками и т. д.