Сравнить данные из массива и таблицы, подсветить в таблице совпадающие данные
Всем привет, помогите решить задачку.
Имеется HTML таблица: <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://code.jquery.com/jquery-1.11.1.js"></script> <style type="text/css"> * { padding: 0; margin: 0; } html, body {margin: 0; padding: 0;} #content {float:left; } table td { border: 1px solid silver; width: 45px; height: 45px;} </style> </head> <body> <div id="content"> <table id="myTable"> <tr> <td>10-11</td> <td>10-12</td> <td>10-13</td> <td>10-14</td> <td>10-15</td> </tr> <tr> <td>11-11</td> <td>11-12</td> <td>11-13</td> <td>11-14</td> <td>11-15</td> </tr> <tr> <td>12-11</td> <td>12-12</td> <td>12-13</td> <td>12-14</td> <td>12-15</td> </tr> <tr> <td>13-11</td> <td>13-12</td> <td>13-13</td> <td>13-14</td> <td>13-15</td> </tr> <tr> <td>14-11</td> <td>14-12</td> <td>14-13</td> <td>14-14</td> <td>14-15</td> </tr> </table> </div> </body> И простенький скрипт, переберающий данные из таблицы и массива: $(document).ready(function (){ var table = document.getElementById('myTable'); var num = [ '10-12', '10-14', '11-13', '12-14', '12-15', '14-11']; for ( var i = 0; i < table.rows.length; i++ ) { for ( var j = 0; j < table.rows[0].cells.length; j++ ) { for (var k = 0; k < num.length; k++){ if (table.rows[i].cells[j].innerHTML === num[k]) alert ("ura"); } } } }); Вопрос. Как подсветить в HTML таблице ячейки совпадающие с элементами массива. Пример упрощенный, реальные таблица и массив значительно больше. Заранее извиняюсь, я начинающий. |
nubie,
опишите класс в css, например .select{color : red;} и замените алерт на table.rows[i].cells[j].classList.add("select") |
Цитата:
P.S.: И конечно плюс Вам в карму. |
nubie,
поиск без jquery <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> * { padding: 0; margin: 0; } html, body {margin: 0; padding: 0;} #content {float:left; } table td { border: 1px solid silver; width: 45px; height: 45px;} .select{background-color : red; color : hsl(0, 0%, 100%);} </style> </head> <body> <div id="content"> <table id="myTable"> <tr> <td>10-11</td> <td>10-12</td> <td>10-13</td> <td>10-14</td> <td>10-15</td> </tr> <tr> <td>11-11</td> <td>11-12</td> <td>11-13</td> <td>11-14</td> <td>11-15</td> </tr> <tr> <td>12-11</td> <td>12-12</td> <td>12-13</td> <td>12-14</td> <td>12-15</td> </tr> <tr> <td>13-11</td> <td>13-12</td> <td>13-13</td> <td>13-14</td> <td>13-15</td> </tr> <tr> <td>14-11</td> <td>14-12</td> <td>14-13</td> <td>14-14</td> <td>14-15</td> </tr> </table> </div> <script> addEventListener("DOMContentLoaded", () => { const num = [ '10-12', '10-14', '11-13', '12-14', '12-15', '14-11']; for(const {textContent, classList} of document.querySelectorAll("#myTable td")) num.includes(textContent) && classList.add("select") }) </script> </body> </html> |
Часовой пояс GMT +3, время: 13:30. |