【发布时间】:2014-03-30 13:50:52
【问题描述】:
考虑下面的代码
$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 附加到插入到 DOM 中的列表项。我的问题是,有没有一种类似于通过引用传递对象(如 PHP 或其他东西)的方法可以让你这样做:
$divContent.fn.applyFunction();
之后,$divContent 被插入到 DOM 中。我们需要做的是将元素插入到 DOM 中,并带有一个加载指示器。调用 AJAX 过程时将显示加载指示器,当 AJAX 完成并成功时,它将使用该函数更新该元素。但为了做到这一点,我们需要先将它插入到 DOM 中。
想法?
【问题讨论】:
-
只是为了更新 AJAX 似乎有点多。希望这是显而易见的,但如果 div 有一个 id,您可以使用 jQuery id 选择器再次找到它,然后在 ajax 成功函数中对其执行任何操作。即使没有 id,通常也可以设计一个可以隔离 div 的选择器。 D3.js 通过将数据属性绑定到 DOM 元素来工作,但我记得不是代码。
标签: javascript jquery dom asynchronous