Как проверить, есть ли элемент в определенной позиции сетки или нет? - PullRequest
0 голосов
/ 26 мая 2018

Допустим, у нас есть сетка с 5 столбцами и 3 строками для примера.Но с неизвестным количеством элементов, в неизвестной позиции.

from css-tricks.com

Скажем, что единственным элементом в сетке является красная область.Мне нужна функция, которая имеет два свойства, назовите их row, column, и они означают координаты сетки.Поэтому, если мы установим их 1, 3, функция должна вернуть false, потому что в сетке нет никаких элементов.Но если мы установим их 3, 4, функция должна вернуть true.Мне просто нужно проверить, есть ли у какого-либо элемента начальные точки в указанных координатах, но я думаю, что было бы более полезно, если бы функция могла проверить, содержит ли сетка (любой элемент покрывает точку) какой-либо элемент в координатах.Возможно?(с чистым JavaScript)

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Получить элемент HTML и его родителей.Затем найдите их позиции в строках таблицы и коллекции столбцов и сравните их с данными строкой и столбцом.

function search(row, col){
    var elem = table.querySelector("tag name or element's identifier"),
        parentCol = elem.parentNode,
        parentRow = parentCol.parentNode,
        rowsCollection = table.querySelectorAll("tr"),
        realRowIndex = [].indexOf.call(rowsCollection, parentRow),
        realColIndex = [].indexOf.call(rowsCollection[realRowIndex].querySelectorAll("td"), parentCol);
        
    return row == realRowIndex && col == realColIndex;
}

console.log(search(2, 3)); //true
0 голосов
/ 26 мая 2018

Добавить идентификатор ко всем элементам, например: id = "12" (1-й ряд, второй столбец).Используйте «для» и «если» внутри.

...