2014-03-29 131 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元素。

哇。涼!希望這可以幫助別人!

相關問題