Jquery .css ('top') возвращает неопределенное - PullRequest
3 голосов
/ 17 ноября 2010

Вот краткое изложение того, как построено мое приложение:

Элементы создаются динамически. Все элементы можно перетаскивать и изменять их размер. Я создал функцию, которая запускается при нажатии кнопки. Вот функция:

$( '#save_canvas' ).click( function(e){
      var _tmpArray = [];  //Temp Array
      var i = 0;

      $( '#canvas' ).children('.elem').each(
      //$('.elem').each(
         function(){
            _tmpArray = [];   //Temp Array
            _id = $(this).attr('id');

            _top = $( '#' + _id ).css('top');
            _left = $( '#' + _id ).css('left');
            _height = $( '#' + _id ).css('height');
            _width = $( '#' + _id ).css('width');
            _tmpArray[0]   = _id;
            _tmpArray[1]   = _height;
            _tmpArray[2]   = _width;
            _tmpArray[3]   = _top;
            _tmpArray[4]   = _left;
         }
      );
   });

Функция отлично работает для первого элемента (первого потомка) . но не остальные. Вот выход document.write массива с 3 созданными элементами:

== LEGEND ==
Идентификатор элемента
Высота
Ширина
Топ
Слева

textblock_1
50px
150px
262px
100px

textblock_2
undefined
undefined
undefined
undefined

textblock_3
undefined
undefined
undefined
undefined

Я искал повсюду в Интернете и не могу понять это на всю жизнь ... помогите, пожалуйста? :)

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

У вас есть идентификаторы, установленные в последующих текстовых блоках?Вам не нужно постоянно использовать «$ ('#' + _id)», просто используйте $ (this) полностью.

0 голосов
/ 17 ноября 2010

Большое спасибо всем за помощь в поиске проблемы с этим фрагментом кода!

В итоге проблема была отчасти из-за способа, которым я вызывал элементы - мне придется выяснить, почему все же - но также потому, что мне пришлось использовать .height () и .width ():

_top = $( this ).css('top');
_left = $( this ).css('left');
_height = $( this ).height();
_width = $( this ).width();

Еще раз спасибо! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...