得到div的href

时间:2012-10-06 12:01:28

标签: javascript jquery facebook

我在div中有一个链接:

<div class="embed">
<a href="http://google.com/"></a>
</div>​

所以现在我想附加Facebook评论系统:

$('.embed a').append('<div class="fb-comments" data-href="' + this + '" data-num-posts="1" data-width="470"></div>');​

正如你所看到的,我对href有'这个',它对我不起作用。我想要链接的URL我附加评论系统。我如何找到并实现此URL? 示例:JsFiddle

6 个答案:

答案 0 :(得分:2)

this is not available in this context你必须自己使用该元素$('.embed a').attr('href')

$('.embed a').append('<div class="fb-comments" data-href="' + $('.embed a').attr('href') + '" data-num-posts="1" data-width="470"></div>');​

答案 1 :(得分:1)

你可以通过做这样的事情获得href

var href=$('.embed a').attr('href');

答案 2 :(得分:1)

如果您有多个'.embed a',则需要对每个$('.embed a').each(function(){ $(this).append('<div class="fb-comments" data-href="' + $(this).attr('href') + '" data-num-posts="1" data-width="470"></div>'); });​ 进行操作并给出正确的href:

{{1}}

答案 3 :(得分:1)

尝试如下:

$('.embed').find('a').attr('href');

答案 4 :(得分:0)

而不是this只需使用$('.embed a').attr('href')

您可以在此处看到: JS Fiddle

答案 5 :(得分:0)

您可以使用html方法,在html函数的上下文中,this指的是您的锚链接。

$('.embed a').html(function(i, c){
    return '<div class="fb-comments" data-href="' + this.href + '" data-num-posts="1" data-width="470"></div>'
});

如果你想附加/前置html标记,你的元素有html内容,你可以连接html内容:

$('.embed a').html(function(i, current){
    return current + '<div class="fb-comments" data-href="' + this.href + '" data-num-posts="1" data-width="470"></div>'
});