Я пытаюсь создать таблицу без какой-либо предыдущей информации в документе HTML.
В этом примере ниже я хотел бы создать таблицу, затем заголовок и строку.Предположим, что макет таблицы в реальной программе находится в наборах <tr><th>
и <tr><td>
(строка заголовка, а затем строка ячейки).
Я бы хотел затем навести курсор мыши на любую строку ячейки и сделать так, чтобы она окрашивала и эту строку, и предыдущую строку заголовка.
Проблема в том, что ранее используемые методы, похоже, не работают, если таблица полностью динамически распределена.
var statTable = $('<table>', {"id": "statTable", "class": "statTable"});
$("#tableCreate").click(function() {
$("#newDiv").append(statTable);
$("#statTable").append("<tbody>");
$(this).prop('disabled', true);
});
$("#setCreate").click(function() {
$("tbody").append($("<tr>")).append($("<th>").text("HEADER"));
$("tbody").append($("<tr>")).append($('<td>').text("TESTING..."));
});
$("#statTable tr").hover(function() {
$(this).prev().find('th').removeClass('green');
$(this).prev().find('th').addClass('red');
}, function() {
$(this).prev().find('th').removeClass('red');
$(this).prev().find('th').addClass('green');
});
td {
border: 1px solid black;
}
th {
background-color: green;
border: 1px solid black;
}
.red {
background-color: red !important;
}
.green {
background-color: green !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<button id="tableCreate">make table </button>
<button id="setCreate">add set</button>
<div id="newDiv">
</div>
</html>