Javascript jQuery-将动态链接从一个元素复制到另一个元素

Javascript jQuery-将动态链接从一个元素复制到另一个元素,javascript,jquery,Javascript,Jquery,div.alpha中的URL是动态的。我需要获取此URL并将其应用于在div.beta中包装“查看详细信息”的“a href” <div class="alpha"> <a href="http://www.url.com">Example</a> Plus some other stuff which may contain links, etc that I don't want to copy to the other div.

div.alpha中的URL是动态的。我需要获取此URL并将其应用于在div.beta中包装“查看详细信息”的“a href”

<div class="alpha">
    <a href="http://www.url.com">Example</a>
    Plus some other stuff which may contain links, etc
    that I don't want to copy to the other div.
</div>

<div class="beta">
    View Details
</div>

您可以通过将代码更新为以下内容来实现此结果

var href = $('.alpha').find('a').attr('href'); // get href of anchor
var text = $('.beta').text(); // get text of beta element i.e. View Details
var betaHTML = "<a href='" + href + "'>" + text + "</a>"; // Create anchor
$('.beta').html(betaHTML); // Update beta element
var href=$('.alpha').find('a').attr('href');//起锚
var text=$('.beta').text();//获取beta元素的文本,即查看详细信息
var betaHTML=“”;//创建锚
$('.beta').html(betaHTML);//更新beta元素

您可以克隆
a.alpha
,然后用它包装
.b
的内容:

// clone the link, remove the text
$link = $('.alpha').find('a').clone().text('');

// wrap all .beta's contents with the cloned link
$('.beta').contents().wrap($link);

如果您有多个
div.alpha
div.beta
元素,那么实现这一点的最佳方法(也适用于一对)是:

$('div.beta').html(函数(i,html){
返回$(this.prev('div.alpha').find('a').clone().html(html);
});

查看详细信息
查看详细信息

jQuery-将动态链接从一个元素复制到另一个元素

CopyLink = jQuery('.page-id-269 ').find('a').clone().attr('href');
jQuery("#menu-item-387 a").attr("href", CopyLink);

最佳解决方案100%有效

如果.alpha还包含我不希望出现在.beta中的其他HTML,该解决方案是否有效?如果循环中有多个div.alpha和div.beta,会发生什么情况?它使用第一个.alpha链接作为所有的.betalinks@seanuk有很多方法,但最好的方法很大程度上取决于您的标记。当
.alpha
.beta
有一个共同的父项时,如何执行此操作
var $betaAnchor = $('.alpha a').clone(); //clone anchor
var anchorLabel = $beta.text(); //grab text from beta tag
$('.beta').append($betaAnchor.text(anchorLabel)); //append cloned anchor with beta text
// clone the link, remove the text
$link = $('.alpha').find('a').clone().text('');

// wrap all .beta's contents with the cloned link
$('.beta').contents().wrap($link);
$('div.beta').html(function(i,html) {
    return $(this).prev('div.alpha').find('a').clone().html( html );
});
CopyLink = jQuery('.page-id-269 ').find('a').clone().attr('href');
jQuery("#menu-item-387 a").attr("href", CopyLink);