Получить текст из 2 ячеек таблицы
Есть таблица, нужно выделить 2 ячейки и получить текст из них. Пока могу получить только текст из одной ячейки
let ds = document.getElementById("tb1");
let tds = ds.querySelectorAll('td');
tds.forEach(function(itemX)
{
itemX.onclick = function()
{
x = itemX.innerText;
itemX.classList.toggle('bluee');
}
}
Ответы (1 шт):
Автор решения: essle
→ Ссылка
Если речь идет о стандартном выделении текста мышкой, то используйте getSelection
const table = document.getElementById("tb1");
table.addEventListener('mouseup', (e) => {
if (e.button === 0) {
const selectedText = window.getSelection().toString();
alert(selectedText);
}
});
Если выделение ячеек идет за счет клика по ним, то:
let buffer = [];
const table = document.getElementById("tb1");
const cells = table.querySelectorAll("td");
cells.forEach((cell) => {
cell.onclick = () => {
if (buffer.length === 2) {
// Если нажато на 2 ячейки, то берем их содержимое и чистим буфер
const selectedText = buffer.map((cell) => cell.innerText).join(' ');
buffer = [];
alert(selectedText);
} else {
// Иначе добавляем ячейку в буфер
buffer.push(cell);
}
};
});