【问题标题】:how to get the href attr of a parent element with jquery?如何使用jquery获取父元素的href attr?
【发布时间】: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


【解决方案1】:
$(document).ready(function () {
    $('a#aud_recommend').on("click", function (e) {
        //e.preventDefault();
        var j = $(this).parents('.auditions_date').find('.new_green a').attr('href');

        console.log(j);
    });
});

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    相关资源
    最近更新 更多