2014-03-29 83 views
0

考虑下面的代码如何在元素插入DOM后对其执行jQuery函数?

$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(); 

已经被插入到DOM是$divContent后。我们需要做的是将元素插入到DOM中,并带有一个加载指示器。加载指示器将在调用AJAX过程时显示,并且当AJAX完成并成功时,它将使用该函数更新该元素。但为了做到这一点,我们需要先将它插入到DOM中。

想法?

+0

似乎有点多只是为了更新AJAX。希望这是显而易见的,但如果div有一个id,你可以再次用jQuery id选择器再次找到它,并在稍后的ajax成功函数中做任何事情。即使没有ID,通常也可以设计一个可以隔离div的选择器。 D3.js通过将数据属性绑定到DOM元素来工作,但我记得目前还没有代码。 – Paul

回答

0

答案其实很简单。我不知道这一点,并通过纯粹的实验发挥作用。

http://jsfiddle.net/z3es9/ 

基本上,我创建一个元素$element - 给它一些属性和一个类,然后$.append()它到DOM。

单击此按钮会修改原始的$element并将更改传递给插入的/附加的DOM元素。

哇。凉!希望这可以帮助别人!

相关问题