Как мне выполнить функцию jQuery для элемента после того, как он был вставлен в DOM?

0

Рассмотрим следующий код

    $li         = $('<li></li>');
    $divHandle  = $('<div></div>');
    $divContent = $('<div></div>');
    $i          = $('<i></i>');
    $span       = $('<span></span>');
    $spanEnd    = $('<span></span>');
    $spanIndex  = $('<span></span>');
    $wrapper    = $('<div></div>');

    $divHandle.addClass('dd-handle').addClass('dd3-handle');
    $divContent.addClass('dd3-content').append($spanIndex).append($span);

    $i.attr('title','Delete this Node').addClass('icon-remove-sign');
    $spanEnd.addClass('delete-element-node').append($i);

    $li.addClass('dd-item').addClass('dd3-item');

    $divContent.append($spanEnd);

    $li.append($wrapper.append($divHandle).append($divContent));

    $('#ExhibitNodes > ol').append($li);

В этом я $divContent элемент $divContent к элементу списка, который вставлен в DOM. Мой вопрос в том, есть ли способ, который сродни передаче объектов по ссылке (например, PHP или что-то еще), что позволит вам сделать это:

    $divContent.fn.applyFunction();

После этого $divContent был вставлен в DOM. Что нам нужно сделать, это вставить элемент в DOM с индикатором загрузки. Индикатор загрузки будет отображаться при вызове процедуры AJAX, и когда AJAX будет завершен и успешным, он обновит этот элемент, используя эту функцию. Но для этого нам нужно сначала вставить его в DOM.

Мысли?

  • 0
    Кажется, немного просто обновить на AJAX. Надеюсь, это очевидно, но если у div есть идентификатор, вы можете просто найти его снова с помощью селектора идентификатора jQuery и сделать что-нибудь с ним позже в функции успеха ajax. Даже без идентификатора часто можно разработать селектор, который может изолировать div. D3.js работает, связывая атрибуты данных с элементами DOM, но не код, насколько я помню.
Теги:
dom
asynchronous

1 ответ

0
Лучший ответ

Ответ был довольно прост. Я этого не знал, и благодаря простому экспериментированию это сработало.

http://jsfiddle.net/z3es9/

В принципе, я создаю элемент $element - даю ему некоторые свойства и класс, а затем $.append() в DOM.

Нажатие кнопки изменяет исходный $element и передает изменения на вставленный/добавленный элемент DOM.

Вау. Круто! Надеюсь, это поможет кому-то!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню