我在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
答案 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>'
});