Заменить внутренний цикл for на matrixA[row - 1][col - 1] = 1;
. Не забудьте проверить, находятся ли столбцы и строки между 1 и 3.
Это получит Вас, что Вы хотите
var childCount = ($('#parent_2').get(0).rowIndex - $('#parent_1').get(0).rowIndex) - 1;
Это:
$('#parent_1 ~ .child:not(#parent_2 ~ *)').size()
Перевод: соответствуйте всем элементам класса child
это - одноуровневый элемент и прибывает после, #parent_1
, но не те, которые являются одноуровневым элементом и приезжают после #parent_2
.
Я думаю, что лучший способ состоит в том, чтобы, вероятно, рассчитать вручную. Это будет быстрее, потому что можно прерваться, когда Вы знаете о выполнении подсчета (полезный, если таблица огромна).
var rowid1 = 'parent_1';
var rowid2 = 'parent_2';
var rows = $("#"+rowid1).parent().find('tr');
var count = 0;
for (var i = 0; i < rows.size(); i++) {
var el = rows.get(i);
// Done counting
if (el.id == rowid2) break;
if (el.id != rowid1) {
++count;
}
}
alert("There are " + count + " rows between");
Первая идея, которая пришла на ум. Я уверен, что существует некоторый тщательно продуманный способ выбрать рассматриваемые элементы, (значение, что необходимо было бы просто сделать $ (селектор) .length), но я не могу думать о том первое, что пришло на ум.
var doCount = false;
var numberOfChildren = 0;
$('tr').each(function(i){
if($(this).is("#parent_2"))
doCount = false;
if(count)
numberOfChildren++;
if($(this).is("#parent_1"))
doCount = true;
});
Принятие parent_1 и parent_2 является запуском и строками конца соответственно:
$("#parent_1").siblings().size() - 1
У некоторых людей есть некоторые хорошие ответы здесь, я был уже запущен на моем, таким образом плохо просто добавляют его для получения дополнительной информации.
$(document).ready(function() {
n = 0;
var x = new Array(0,0,0);
$("table tr").each(function(i)
{
if($(this).hasClass("child"))
{
x[n] += 1;
}
else
{
n += 1;
}
});
for(var y = 0; y < x.length; y++)
{
alert(x[y]);
}
});
btw шахта РЕДАКТИРОВАНИЯ не заботится, сколько родители там, это будет просто продолжать рассчитывать как долго, массив является достаточно большим.