【发布时间】:2012-05-11 23:20:59
【问题描述】:
我有这个 html 树示例
<div class="auditions_date">
<div class="new_green above_deadline"><a href="/auditions/2 ?>">Contact</a></div>
<span class="aud_recommend"><a class="222" id="aud_recommend" href="#recommend_data">test</a></span>
</div>
<div class="auditions_date">
<div class="new_green above_deadline"><a href="/auditions/3 ?>">Contact</a></div>
<span class="aud_recommend"><a class="333" id="aud_recommend" href="#recommend_data">test</a></span>
</div>
当我点击test 链接时,我想获取a 标签的href attr
也许:
$('a#aud_recommend').on("click", function() {
var j = $(this).parent('.auditions_date').find('a').attr('href');
console.log(j);
});
这似乎不能正常工作..有什么想法吗?
谢谢
【问题讨论】:
-
(1)
.auditions_date不是a#aud_recommend的父级,并且 (2) ID 必须是唯一的。我建议你看看jQuery API documentation 并仔细阅读.parent()在做什么。另外,您想获得哪个href属性?每个div中有两个链接。 -
为了补充 Felix Kling 的评论,jQuery 的 .parent() 只在 dom 树上上一层。您需要使用 .parents()。
-
.parents() 成功了。谢谢
-
当你点击测试时,你希望href放在哪个链接上?
-
它不会改变重复 ID 在 HTML 中无效的事实。通常你会将选择器简化为
$('#id')(不是$('tag#id')),但这不会同时拾取两个链接。给两个链接一个类并按该类选择。
标签: jquery find parent href attr