2013-04-07 71 views
1

我正在編寫一個MVC應用程序,並且在一個頁面上,我需要動態地爲所有元素提供一個ID,因爲表格呈現的方式以及數據如何傳遞給它。當我運行這個時,所有的元素都被替換,但是它將刪除標籤之間的內容。有沒有什麼辦法可以讓它只替換開始標籤,而不是觸摸剩下的,或者其他jQuery函數來做到這一點?我的代碼如下:在html元素中使用jQuery replaceWith

<script type="text/javascript" charset="utf-8"> 
$(document).ready(function() { 
var oTable1 = $('#example1').dataTable({ 
    sScrollX: "100%", 
    sScrollY: "200px", 
    bFilter: false, 
    bScrollCollapse: true, 
    bPaginate: false, 
    bScrollInfinite: true, 
    iScollLoadGap: 10, 
    oLanguage: { 
     sZeroRecords: "There are no records that match your search criterion", 
    } 
}).makeEditable({ sUpdateURL: "/Home/UpdateData" }); 

}); 

</script> 
<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { var editChange = $('td').replaceWith('<td id = "@Html.ValueFor(x => x.name)" >'); }); 
</script> 

任何幫助表示讚賞。

回答

1

而不是使用replaceWith我可能會建議使用其他功能上的ID,也就是意味着function .attr()換下元素的屬性。

$('td').attr('id','@Html.ValueFor(x => x.name)'); 

此外,要小心,因爲在客戶端的ASP值將不可用一次。您的選擇器$('td')非常普遍,並且IDS必須是唯一的。

0

儘量明確設置TD元素(一個或多個)

$('td').each(function() { 
    this.id = @Html.ValueFor(x => x.name); 
});