如何获取单击的<a>标记的名称

Dhi*_*kur 0 javascript jquery

这是我的HTML代码:

<div class="span4">
<div class="hero-unit" style="padding:10px 10px 10px 10px">
    <div class="accordion" id="accordion2">
        <div class="accordion-group">
            <div class="accordion-heading">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
                North Delhi
                </a>
            </div>
            <div style="height: 0px;" id="collapseOne" class="accordion-body collapse">
                <div class="accordion-inner">
                    <ol>
                        <li><a id='link' href="#" name="Some name1 ">Some link1</a> </li>
                        <li><a id='link' href="#" name="Some name2">Some link2</a> </li>
                    </ol>
                </div>
            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

这是我的jQuery代码

$(document).ready(function() {
    $('#link').click(function() {
        var n = $(this).attr(name); //alerts undefined
        alert(n);
        $('#results').html('&nbsp;').load('/donate/?n=' + n);
    });
});
Run Code Online (Sandbox Code Playgroud)

我的HTML代码有几个带有多个链接的accordion-inner div.我想获取点击链接的name属性.这段代码警告我undefined检查我的jQuery代码,请告诉我我做错了什么?

我是jquery的新手所以请帮助.

Jon*_*Jon 5

问题是你没有name引用引号,所以Javascript查找一个名为的变量name,但找不到.你应该改为:

var n = $(this).attr("name");
Run Code Online (Sandbox Code Playgroud)

除此之外,你id的并不是唯一的.这是非法的,实际上保证将来会给你带来麻烦.按照@nbrooks的建议,将过度使用更改id为a class.