我在网站的每个页面上都有4个图标来共享您所在的页面。我想获取您所在页面的URL,对其进行编码,然后将其插入每个按钮的href属性中。
var url = window.location.href;
var encodedUrl = encodeURIComponent(url);
var urlRegEx = new RegExp(encodedUrl,'g');
$(".social").each(function () {
$(this).html(this.html().replace('sharethisurl',urlRegEx));
});
<div id="share">
<a class="social" href="http://pinterest.com/pin/create/button/?url=sharethisurl&media=sharethisjpg&description=" target="_blank"><img src="images/pinterest.png" alt="pin this" /></a>
<a class="social" href="http://www.houzz.com/imageClipperUpload?link=sharethisurl&source=button&hzid=28938&imageUrl=sharethisjpg" target="_blank"><img src="images/houzz.png" alt="add to houzz" /></a>
<a class="social" href="https://www.facebook.com/sharer/sharer.php?u=sharethisurl" target="_blank"><img src="images/facebook.png" alt="like this" /></a>
<a class="social" href="https://twitter.com/share?url=sharethisurl" target="_blank"><img src="images/twitter.png" alt="tweet this" /></a>
</div>
答案 0 :(得分:2)
您需要的是
var url = window.location.href,
encodedUrl = encodeURIComponent(url);
$(".social").prop('href', function(index, current){
return current.replace(/sharethisurl/g, encodedUrl);
});
代码中的一些问题
replace
方法时找到的模式(所以它应该是第一个参数)html()
返回元素的html内容(它不会返回匹配的实际标记,只返回其子节点)