2012-09-25 31 views
1

是否mootools具有相當於jQuery的before? 如果不是,我如何在mootools中執行類似的功能?MooTools相當於jQuery's之前

例如,我得到了來自ajax的結果,我想在某個元素之前插入結果的HTML代碼。

<div class="elements"> 
    <div class="element"></div> 
    <div class="element"></div> 
    <div class="element"></div> 

    </div class="loader"></div> 
</div> 

我想.loader之前插入一些HTML代碼(這是字符串)。 我不能在這個問題中使用JSON或HTML類似的對象。

我有功能,插入到HTML DIV:

function appendHTML(elem, html){ 
    if ($type(html) != 'string') return false; 
    var temp = new Element('div'); 
    temp.set('html', html); 
    elem.adopt(temp.childNodes); 
    return this; 
} 

但我想插入HTML代碼的div之前,不進。 謝謝!

+0

我的意思是HTML代碼字符串,而不是對象! – Mirgorod

+1

它更容易*使用元素對象而不是傳遞字符串。如果您通過ajax從服務器端傳遞html,您可以通過僅傳遞您請求的數據(並使用[Request.JSON](http://mootools.net/docs/core/Request/Request)來節省一些時間。 JSON)),並根據下面的答案呈現元素。 –

+0

我只從服務器獲取HTML。我不想進入JSON,因爲我想插入各種類型的塊。 – Mirgorod

回答

3

還有就是inject()方法:

myElement.inject(el[, where]); 

下面是插入的一個例子myFirstElement之前mySecondElement

myFirstElement.inject(mySecondElement, 'before'); 
6

inject您的元件到DOM中,可以在第二個參數傳這說明元素應該去的地方。缺省值是bottom

new Element('div', { 
    "class": 'className', 
    html: 'Some html' 
}).inject(existingEl, 'before');