Jquery 获取元素';单击时的ID
我的代码中有几个可折叠的段,我使用jQuery实现了这些段 像这样: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
<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()