微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax在元素列表中使用不显眼的javascript请求

所以我真的更喜欢使用不引人注目的 javascript来内联javascript.我发现使用它更容易.

我一直遇到的问题是,我不知道如何获取我想要使用的每个特定元素的数据.

例如:

我有一个列表,我生成以下HTML(这是伪代码)

<%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
    })
});

原文地址:https://www.jb51.cc/ajax/159923.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐