我是使用JavaScript的新手,我正在尝试将Google Plus“分享”按钮添加到我博客索引页面上的每个博客文章中。为此,我正在使用下面的JavaScript代码。
理论上,这应该提取我的网页的主要网址和每个a.blog-title-link
的(href)。但是,google分享按钮上显示的链接对于每个帖子都是相同的。对于每个博文分享链接,我都会这样:/3/post/2014/04/this-is-6post.html
。
小提琴Example
我尝试过使用.map()
功能,但无济于事。
<body>
<div class='blog-index-page'>
<div class='blog-post'>
<div class='blog-header'>
<h2 class='blog-title'>
<a href='/3/post/2014/04/this-is-6post.html' class='blog-title-link' class='blog-link'>THIS IS POST 6</a>
</h2>
</div>
</div>
<div class='blog-post'>
<div class='blog-header'>
<h2 class='blog-title'>
<a href='/3/post/2014/04/this-is-5post.html' class='blog-title-link' class='blog-link'>THIS IS 5 POST</a>
</h2>
</div>
</div>
<div class='blog-post'>
<div class='blog-header'>
<h2 class='blog-title'>
<a href='/3/post/2014/04/this-is-4post.html' class='blog-title-link' class='blog-link'>THIS IS 4POST</a></h2>
</div>
</div>
</div>
var uri = $('a.blog-title-link').attr('href');
var res = (uri);
$('div.blog-post').each(function(){
$(this).append('<a href="https://plus.google.com/share?url='+(window.location.origin)+''+(uri)+'">shareplus</a>');
} );
</body>
答案 0 :(得分:1)
var uri = $('a.blog-title-link').attr('href');
^^^^^^^^^^^^^^^^^^^^^---- a)
^^^^^^^^^^^--- b)
a)$(..)代码检索整个文档中的所有<a class="blog-title-link">
元素
b).attr()调用然后获取a)中返回的 FIRST 元素的href
你可能想要更像
的东西$('div.blog-post').each(function(obj){
var uri = $(obj).find('a.blog-title-link').attr('href');
});
这样,您就可以在各个<a>
元素中搜索div.blog-post
标记。例如而不是在DOM树中找到所有<a>
标签,而是在寻找您当前树枝内的那个。