2013-05-06 47 views
1

我正在使用小鬍子模板腳本呈現我的JSON值。 我想知道:因爲我需要綁定datahtml我正在渲染,有一種方法可以將.data()應用到我要渲染的object在獲取模板之前修改html

我有一些代碼更好地解釋它:

var temp = $("#template").html(), 
    obj = Mustache.render(temp,this); 
    //I want to bind data to obj before it gets appended 
    $('#appended').append(obj); 

回答

1

修改的obj之前或追加之後。

var temp = $("#template").html(), 
    obj = Mustache.render(temp,this); 

$(obj).data("foo","bar").appendTo('#appended'); 

var temp = $("#template").html(), 
    $obj = $(Mustache.render(temp,this)); 

$('#appended').append($obj) 
$obj.data("foo","bar"); 

如果你的HTML不是以標籤開始,你就必須先對其進行解析。

var temp = $("#template").html(), 
    $obj = $($.parseHTML(Mustache.render(temp,this))); 

$('#appended').append($obj) 
$obj.data("foo","bar"); 
+0

我問與美元符號選擇對象渲染之前嘗試過,但控制檯給語法錯誤|:因爲它返回純HTML .. – steo 2013-05-06 15:35:01

+0

這並不重要,'$()'可以處理純HTML ,只要它以一個標籤開始。 – 2013-05-06 15:38:03

+0

下一步將檢查返回到「obj」變量的內容。 – 2013-05-06 15:44:48