所以我真的更喜欢使用不引人注目的
javascript来内联javascript.我发现使用它更容易.
我一直遇到的问题是,我不知道如何获取我想要使用的每个特定元素的数据.
例如:
<%for e in list%> <a href="#" class="delete"><%=e%></a> <!-- <%= e.id %> ??--> <%end%>
所以我想将javascript附加到其中的每一个< a>将调用ajax帖子的标签,但我需要“id”从后端删除正确的元素.
$('a.delete').click(function() { // Ajax request using "e.id" });
我试过的一些事情:
>构建href并使用attr方法将ajax请求发送到该URL. (对于POST请求我真的不喜欢这个,但确实有效.
>使用rel属性存储我需要的数据.
>使用HTML5数据属性. (我不知道所有浏览器的可用性,因为我们需要支持IE6,所以我不喜欢这个想法.)
>为每个< a>创建一个表单.标记和序列化. (这似乎是很多额外的代码,但它看起来也很干净.)
实现这一目标的最佳做法是什么?
使用id属性存储一个带有id的字符串,如下所示:
<%for e in list%> <a id="link_<%= e.id %>" href="#" class="delete"><%=e%></a> <%end%>
并通过拆分下划线来读取id:
$('#list a').click(function(){ //old var id = $(this).attr('id').split('_')[1]; var id = this.id.split('_')[1]; //thx @mu $.ajax({ url: 'http://www.someurl.com/delete.aspx?id=' + id,//...more }) });