在html元素上使用jQuery replaceWith

时间:2013-04-07 23:22:13

标签: javascript jquery asp.net-mvc replacewith

我正在编写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>

感谢任何帮助。

2 个答案:

答案 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);
});