Offset() undefined, div внутри td

210
11 августа 2017, 01:13

Здравствуйте, не пойму почему у div, который я добавляю внутрь td не определено свойство offset? div'ы добавляются и нормально отображаются. Вот код:

    for (i = 0; i < 400; i++) {
        if ($('#FIO' + i).length) {
            $('#FIO' + i).append('<div id=st'+i+'>СТАТУС</div>');
            $('#st' + i).css('position', 'absolute');
        }
     }
     $(window).on('load', function() {
        for (i = 0; i < 400; i++) {
            if ($('#FIO' + i).length) {
                $('#st' + i).css('visibility', 'hidden');
                $('#st' + i).css('left', $('FIO' + i).css('left'));
                //$('#st' + i).css('top', (parseFloat($('st' + i).offset().top) + 10) + 'px');
                $('#st' + i).css('border', '1px solid black');
                $('#st' + i).css('background', 'white');
                $('#FIO' + i).css('cursor', 'pointer');
                offset = $('st' + i).offset();
                console.log(offset.top);
            }
        }
    });
Answer 1

1) При добавлении div элементов добавляйте для id кавычки:

$('#FIO' + i).append('<div id="st'+i+'">СТАТУС</div>');

2) Когда вы динамически обращаетесь к элементам:

$('#st' + i).css('left', $('FIO' + i).css('left'));
$('st' + i).offset();

указывайте их принадлежность к классу: $('.FIO' + i) или id $('#FIO' + i)

Удачи ;)

READ ALSO
navigator.registerProtocolHandler аналог для обработчика на диске

navigator.registerProtocolHandler аналог для обработчика на диске

Необходимо для Chromium установить обработчик протокола tel

180
Изменение фона ссылки

Изменение фона ссылки

Есть поле ввода и ссылкаЕсли условие не выполнено, то ссылка должна отключаться и изменяется текст

253
Вопрос с promises в JavaScript

Вопрос с promises в JavaScript

Я открываю код через ChromeСначала в консоли появляется Оп2

226