获取链接 href 并将其应用于另一个链接 jQuery

Get link href and apply it to another link jQuery

本文关键字:链接 应用于 另一个 jQuery href 获取      更新时间:2023-09-26

我有一组 DIV,每个 DIV 都包含一个图像,周围包裹着一个空的锚点标签

<a href="#"> Image is here </a>

然后,我在div关闭之前有一个"继续阅读"链接

<a href="?p=453">Continue reading <span class="meta-nav">→</span></a>

jQuery有没有办法在页面加载时,我可以确定继续阅读按钮的href位置并应用我的图像周围的空锚点?

演示:http://jsfiddle.net/2hu66/1/

这是可能的,但这不是一个好主意。用js创建的链接对谷歌小龙虾不可见。正确的方法是创建一个真正的链接而不是"#"。

把事情做对,;)不有趣。

基于你的 HTML,你可以这样做:

​$(function(){
    $('.card-prod').each(function(){                         //for each item
        var theLink = $('a[href^="?p"]',this).attr('href');  //get the link
        $('a.cardclick',this).attr({'href':theLink});        //set to img link
    });
})​​

您可以遍历"继续阅读"链接并复制它们的 href,也许如下所示:

​$(​"div.card-prod a:contains('Continue reading')")​​​​​​​​​​​​​​​​​​​​​​​​​​.each(function() {
    var $this = $(this);
    $this.closest("div.card-prod")
         .find("a.cardclick")
         .attr("href", $this.attr("href"));
});​

更新的演示:http://jsfiddle.net/2hu66/3/

我上面使用的:contains选择器不会是最有效的方法,但它有效。如果这是我的html,我可能会给那些"继续阅读"锚元素一个公共类并选择它。或者,您可以选择"元导航"跨度,然后采用其父级。(很多选择,真的。

$('.card-prod').each(function() {
    var cr = $(this).find('a:last');
    $(this).find('.cardclick').attr('href', cr.attr('href'));
});

示例小提琴:http://jsfiddle.net/2hu66/4/