将数据传递给jQuery click()函数

Jak*_*e N 14 parameters ajax jquery function

我有一个简单的跨度

<span class="action removeAction">Remove</span>
Run Code Online (Sandbox Code Playgroud)

此跨度位于表格内,每行都有一个删除范围.

然后,当点击该跨度时,我使用AJAX调用URL.AJAX事件需要知道该行的对象的ID吗?将该ID放入点击功能的最佳方法是什么?

我以为我可以做这样的事情

<span class="action removeAction" id="1">Remove</span>
Run Code Online (Sandbox Code Playgroud)

但ID不应该以数字开头?对?然后我想我能做到

<span class="action removeAction" id="my1">Remove</span>
Run Code Online (Sandbox Code Playgroud)

然后从ID中删除"我的"部分,但这似乎只是Yuk!

下面是我的点击事件和我的AJAX事件.

<script type="text/javascript" language="text/javascript">

$(document).ready(function()
{

    $(".removeAction").click(function()
    {
        //AJAX here that needs to know the ID            
    }
});

</script>
Run Code Online (Sandbox Code Playgroud)

我相信有一个很好的方法吗?

注意:我不是在寻找

$(this).attr("id");
Run Code Online (Sandbox Code Playgroud)

我希望能够传递多条信息

谢谢.杰克.

Mat*_*ens 14

如果您坚持使用旧式HTML 4.01或XHTML:

$('.removeAction').click(function() {
 // Don’t do anything crazy like `$(this).attr('id')`.
 // You can get the `id` attribute value by simply accessing the property:
 this.id;
 // If you’re prefixing it with 'my' to validate as HTML 4.01, you can get just the ID like this:
 this.id.replace('my', '');
});
Run Code Online (Sandbox Code Playgroud)

顺便说一句,在HTML5中,id属性可以以数字开头,甚至一些.

再说一次,如果你还在使用HTML5,你可能最好使用自定义数据属性,如下所示:

<span class="action removeAction" data-id="1">Remove</span>
Run Code Online (Sandbox Code Playgroud)

  • @jakenoble:他们为什么会这样?它们非常棒,在像你这样的案例中非常有用:http://www.w3.org/TR/html5/dom.html#custom-data-attribute (2认同)