我正在编写MVC应用程序,并且在一个页面上我需要动态地为所有元素提供ID,因为表格的呈现方式以及数据如何从中传递给它。当我运行它时,所有元素都被替换,但它正在删除标记之间的内容。有没有办法让它只替换起始标签,而不是触摸其余的,或另一个jQuery函数来做到这一点?我的代码如下:
<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>
感谢任何帮助。
答案 0 :(得分:1)
我可以建议使用另一个函数function .attr()
而不是使用replaceWith
,而{{3}}用于替换元素的属性。
$('td').attr('id','@Html.ValueFor(x => x.name)');
另外,请注意,因为客户端的ASP值不可用。您的选择器$('td')
非常通用,IDS必须是唯一的。
答案 1 :(得分:0)
尝试在TD元素上明确设置id
$('td').each(function() {
this.id = @Html.ValueFor(x => x.name);
});