Jquery 如何将每个元素包装在带有属性的标记中?

Jquery 如何将每个元素包装在带有属性的标记中?,jquery,html,Jquery,Html,我试图将每个元素包装在一个锚标记中,但我不确定如何做 我尝试使用.each来运行一个函数,该函数使用.wrap来包装元素 以下是我所做的: <div class="product-icon-container"> <div class="product-icon product-share"><i class="fas fa-link"></i>Share</div> <div class="product-ico

我试图将每个元素包装在一个锚标记中,但我不确定如何做

我尝试使用.each来运行一个函数,该函数使用.wrap来包装元素

以下是我所做的:

<div class="product-icon-container">
    <div class="product-icon product-share"><i class="fas fa-link"></i>Share</div>
    <div class="product-icon product-heart"><i class="far fa-heart"></i>Save</div>
</div>

<input type="hidden" class="post-url" value="<?php the_permalink() ?>">`

var postUrl = $(".post-url").val()

$(".post-url").each(function(){
    $(".product-share").wrap('a href="' + postUrl + '"></a>');
});

分享
拯救
当然,可以为每个.post url调用
.wrap()
(例如10次),而不指定要使用的元素(类返回集合,而不是单个元素)

jQuery不是很强大,但它应该是st。如下所示:

$(".post-url").each(function(){
    $(this).prev('.product-icon-container').find('.product-share').wrap('<a href="' + $(this).val() + '"></a>');
                                                                         ^^
});
$(“.post url”)。每个(函数(){
$(this.prev(“.product icon container”).find(“.product share”).wrap(“”);
^^
});
postUrl
中,它始终是相同的值,您不会为每个
元素更改它

当然,可以为每个.post url调用
.wrap()
(例如10次),而不指定要使用的元素(类返回集合,而不是单个元素)

jQuery不是很强大,但它应该是st。如下所示:

$(".post-url").each(function(){
    $(this).prev('.product-icon-container').find('.product-share').wrap('<a href="' + $(this).val() + '"></a>');
                                                                         ^^
});
$(“.post url”)。每个(函数(){
$(this.prev(“.product icon container”).find(“.product share”).wrap(“”);
^^
});
postUrl
中,它始终是相同的值,您不会为每个
元素更改它


这似乎不起作用。是的,姿势的值是不同的。它包含帖子的_permalink,每个帖子都不一样。@randomjsnoob:有一个拼写错误,缺少
,似乎不起作用。是的,姿势的值是不同的。它包含帖子的_permalink,每个帖子都不一样。@randomjsnoob:有一个拼写错误,缺少