繁体   English   中英

Jquery 获得最接近的 href 属性

[英]Jquery get closest a href attribute

我有以下标记,我正在尝试获取 href 但总是未定义。 任何帮助表示赞赏。

<div class="wrapper">
    <span class="mixSpanLeft" style="background-image: url(http://cdn.wallpapersafari.com/29/20/3HE5Mx.jpg)">
        <a href="http://cdn.wallpapersafari.com/29/20/3HE5Mx.jpg"></a>
    </span>
    <div class="mixDivRight">
        <p class="bottomP"><button>Select</button><p>
    </div>
</div>

$container = $('.wrapper');
$container.on('click', '.bottomP', function (event) {
    console.log($(this).closest('a').attr('href'));
});

假设您修复了 Mohammad 评论中指出的类/ID 问题,您可以使用:

$('.wrapper').on('click', '.bottomP', function (event) {
    console.log($(this).closest('.wrapper').find('a').attr('href'));
});

 $('.wrapper').on('click', '.bottomP', function (event) { console.log($(this).closest('.wrapper').find('a').attr('href')); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="wrapper"> <span class="mixSpanLeft" style="background-image: url(http://cdn.wallpapersafari.com/29/20/3HE5Mx.jpg)"> <a href="http://cdn.wallpapersafari.com/29/20/3HE5Mx.jpg"></a> </span> <div class="mixDivRight"> <p class="bottomP"><button>Select</button><p> </div> </div>

除了 Mohammad 提到的需要使用 .wrapper 而不是 #wrapper 的内容。 我建议使用.find()而不是.closest() .closest()在 IE 中不起作用,但这对您来说可能不是问题。 你也可以做这样的事情:

$("div.wrapper").on('click', '.bottomP', function () {
    console.log($("div.wrapper a:first").attr('href'));
});

这将获取包装器 div 中的第一个<a>标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM