Спасибо, но немного не то.
Таблиц очень много на странице, и порядок их меняется.
Примерно так выглядит таблица, которая нужна:
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td width=60>
<div class="cre_creature" style="width:60px;">
<img src="https://">
</div>
</td>
<td width=60>
<div class="cre_creature" style="width:60px;">
<img src="https://">
</div>
</td>
</tr>
</table>
Я извиняюсь, не TD имеет уникальный класс, а DIV который в нём.
function show_army_leader(creature) // Лидерство армии
{
var tr = creature.parentElement.parentElement // Колонка в таблице
var list = tr.querySelectorAll('div[class^="cre_creature"]') // Получить список ячеек армии
if(list.length > 1) // Если нужных ячеек больше 1, бываю и по одной а нужно когда их несколько
{
// Вставка нескольких ячеек в строку
var td = document.createElement('td')
td.innerHTML = " <b>13,983</b>"
var ntd = tr.insertBefore(td, tr.childNodes[list.length]) // Вставить после последнего нужного td в таблице(их на самом деле больше)
td = document.createElement('td')
td.innerHTML = '<img height=24 widht=24 src="https://">'
ntd = tr.insertBefore(td, ntd) // Вставить перед предыдущим td
td = document.createElement('td')
td.setAttribute("width", "10")
td.innerHTML = " "
tr.insertBefore(td, ntd) // Вставить перед предыдущим td
return tr.childNodes[list.length] // Возвращает последний нужный td в таблице(тут не правильно, но это так, для наглядности)
}
return null
}
function main()
{
var creature = document.querySelector('div[class^="cre_creature"]') // Найти первый объект, это ячейка с юнитами
while(1)
{
if(creature == null) break
creature = show_army_leader(creature).querySelector('div[class^="cre_creature"]') // После первого, искать дальше
// Понятно, что querySelector ищет только потомков объекта, но это тоже, пока не доработано
}
}
Я тут подумал, может быть я в корне неправильно выбрал алгоритм?
Может проще сначала получить массив всех нужных DIVов.
Потом берётся первый, у него ищется родитель, у родителя получаются опять все нужные DIVы, таким образом будет известно количество в первой таблице.
Ну и потом просто перебирать первый общий массив, брать следующий DIV производить те же операции, пока массив не кончится.
Я просто думал может я не знаю функций, которые позволяют искать с определённого места.