как я могу пропустить некоторые элементы в each
функции jquery следующим условием:
var number_of_td = 0;
$('td').each(function() {
if (number_of_td == 0) {
if ($(this).attr('id') == "1") {
//skip the next three elements:
//something like: $(this) = $(this).next().next().next();
}
}
else if (number_of_td == 1) {
if ($(this).attr('id') == "2") {
//skip the next two elements
}
}
else if (number_of_td == 2) {
if ($(this).attr('id') == "3") {
//skip the next element
}
}
else if (number_of_td == 3) {
if ($(this).attr('id') == "4") {
//skip the next element
}
}
else {
number_of_td++;
if (number_of_td == 4) {
number_of_td = 0;
}
}
});
например:
<td attr="1"></td>
<td attr="6"></td>
<td attr="7"></td>
<td attr="9"></td>
//-------------------
<td attr="2"></td>
<td attr="5"></td>
<td attr="3"></td>
<td attr="6"></td>
//-------------------
<td attr="7"></td>
<td attr="2"></td>
<td attr="8"></td>
<td attr="6"></td>
если существует одно из 4-го условий, пропустите до элемента td с attr=2
.
в этом примере первый атрибут td равен 1, поэтому он пропускает до attr = 2 и не проверяет другие элементы (attr = 6,7,9).
2 не равно 1, 5 не равно 2, 3 равно 3, поэтому он пропускает до attr = 7 и т.д.
Надеюсь, ты сможешь понять мой пример.
любая помощь ценится!
Добавьте переменную счетчика и пропустите цикл, если счетчик не достиг нулевого значения:
$('td').each(function() {
if (+$(this).data('counter')>0) {
$(this).data('counter', $(this).data('counter')-1); // decrement counter
return; // continue to next loop iteration
}
if (number_of_td == 0) {
if ($(this).attr('id') == "1") {
$(this).data('counter', 2); // skip two more after this one
return; // skip to next loop iteration
}
}
.attr('id')
должен быть .attr('attr')
если вы посмотрите на код OP. Я не думаю, что он использует id: s, так как существует несколько совпадений с одинаковыми значениями.
$(this).attr('id')
), но ваши элементы td не имеют идентификатора. Плюс, почему вы используетеeach
функцию?