Jquery 获取元素';单击时的ID

Jquery 获取元素';单击时的ID,jquery,html,Jquery,Html,我的代码中有几个可折叠的段,我使用jQuery实现了这些段 像这样: <h2 class="expand">Link1</h2> <div class="collapse"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labor

我的代码中有几个可折叠的段,我使用jQuery实现了这些段

像这样:

<h2 class="expand">Link1</h2>
                <div class="collapse">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore 
                    et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip 
                    ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore 
                    eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa 
                    qui officia deserunt mollit anim id est laborum.</p>                
                    <p class="top"><a href="#content">Top of page</a></p>
                </div>
每当我运行应用程序并单击(比如)“Link1”时,我都会得到一个空白输出。为所有链接声明单独的类似乎是一个选项,但我想这样做,否则。。
有没有人能就如何获取这些元素的Id提出其他建议

您提供的标记表明您没有为这些元素提供id。试着给他们一个ID,就像这样:

<a id="contentLink" href="#content">Top of page</a>
编辑:或者如果你说“ID”,实际上是指href(因为你的标记有href属性),那么你可以这样做:

$(document).ready(function () {
    $("a").click(function (event) {
        alert($(this).attr("href"));
    });
 });

首先,如果您指的是绑定处理程序的元素,那么应该使用
this
。考虑这一点:

<a href="#content" id="a"><span id="b">foo</span></a>
但是,您的
h2
标记实际上没有
id
,因此您需要给它一个。如果要获取该标记的文本,请使用
text

$(this).closest('div').prev().text()
将ID添加到a标记中,它不会自动创建!
<a href="#content" id="a"><span id="b">foo</span></a>
$(this).closest('div').prev().attr('id')
$(this).closest('div').prev().text()