MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 333: | Строка 333: | ||
function applyHighlighting() { | function applyHighlighting() { | ||
var tables = document.querySelectorAll('.wikitable:not(.no-highlight-table)'); | var tables = document.querySelectorAll('.wikitable:not(.no-highlight-table)'); | ||
Array.prototype.forEach.call(tables, function(table) { | Array.prototype.forEach.call(tables, function(table) { | ||
var tbody = table.querySelector('tbody'); | var tbody = table.querySelector('tbody'); | ||
var thead = table.querySelector('thead'); | |||
// Проверяем, что tbody существует | // Проверяем, что tbody существует | ||
| Строка 342: | Строка 343: | ||
return !row.querySelector('table'); | return !row.querySelector('table'); | ||
}); | }); | ||
// Пропускаем первые две строки, если thead существует | |||
var topLevelRows = thead ? rows.slice(2) : rows.slice(1); | |||
var hasInvalidRowspan = false; | var hasInvalidRowspan = false; | ||
var hasTooManyRowspan = false; | var hasTooManyRowspan = false; | ||
topLevelRows.forEach(function(row) { | |||
var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | ||
| Строка 371: | Строка 375: | ||
if (hasTooManyRowspan || hasInvalidRowspan) return; | if (hasTooManyRowspan || hasInvalidRowspan) return; | ||
topLevelRows.forEach(function(row) { | |||
var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | ||
var originalStyles = cells.map(function(cell) { | var originalStyles = cells.map(function(cell) { | ||