Нахождение индекса столбца с помощью jQuery, когда таблица содержит охватывающие столбец ячейки

Прокси-сервер проксирует (и дополнительно кэши) исходящий сетевые запросы к различным not-necessarily-related общедоступным ресурсам через Интернет. Обратный прокси получает (и дополнительно кэши) входящие запросы из Интернета и распределяет их различным внутренним частным ресурсам, обычно в Высоконадежных целях.

22
задан Brian Tompsett - 汤莱恩 1 October 2016 в 17:10
поделиться

3 ответа

Вот плагин, который может вычислить индекс «noncolspan».

$(document).ready(
        function()
        {
        console.log($('#example2').getNonColSpanIndex()); //logs 4
        console.log($('#example1').getNonColSpanIndex()); //logs 2
    }

);

$.fn.getNonColSpanIndex = function() {
    if(! $(this).is('td') && ! $(this).is('th'))
        return -1;

    var allCells = this.parent('tr').children();
    var normalIndex = allCells.index(this);
    var nonColSpanIndex = 0;

    allCells.each(
        function(i, item)
        {
            if(i == normalIndex)
                return false;

            var colspan = $(this).attr('colspan');
            colspan = colspan ? parseInt(colspan) : 1;
            nonColSpanIndex += colspan;
        }
    );

    return nonColSpanIndex;
};
29
ответ дан 29 November 2019 в 04:47
поделиться

Мой очень похож на SolutionYogi, минус создание плагина. Это заняло у меня немного больше времени ... но я все еще горжусь этим, так что вот оно:)

cell = $("#example2");
var example2ColumnIndex2 = 0;

cell.parent("tr").children().each(function () {
    if(cell.get(0) != this){
        var colIncrementor = $(this).attr("colspan");
        colIncrementor = colIncrementor ? colIncrementor : 1;
        example2ColumnIndex2 += parseInt(colIncrementor);
    }
});
console.log(example2ColumnIndex2);
5
ответ дан 29 November 2019 в 04:47
поделиться

Вы можете сделайте что-нибудь вроде этого:

 var index = 0;
 cell.parent('tr').children().each( 
     function(idx,node) { 
           if ($(node).attr('colspan')) {
             index+=parseInt($(node).attr('colspan'),10); 
           } else {
              index++;
           }

         return !(node === cell[0]);
     }
 );
 console.log(index);

Возможно, имеет смысл сделать это как плагин или через расширение.

2
ответ дан 29 November 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: