使用 JS 和 HTML 将当前 URL 插入 link

Insert current URL into a link using JS and HTML

所以,我已经通读了类似的内容,但我仍然找不到更适合我正在做的事情的答案。我正在尝试使用 JS 获取当前页面 URL 并将其附加到社交媒体共享 link,如下所示:

<a href="http://reddit.com/submit?url=CURRENTPAGE.html; title="This is a post!" target="_blank">

使用 Javascript,我设法将当前 URL 分配给一个变量:

<script>
var x = window.location.href;
document.getElementById("smsharing").innerHTML = x;
</script></p>

我通过对其进行测试显示来确保它可以正常工作。那么,真正用 'x' 代替 CURRENTPAGE.html 的正确 method/syntax 到底是什么???

我知道这是一个愚蠢的问题,但我真的很困惑。具体的帮助,因为部分问题是我对 JS 知之甚少。想法?

使用jQuery就这么简单:

$('a').attr("href",x);

您只需将 innerHTML 替换为 href :

document.getElementById("smsharing").href = x;

希望对您有所帮助。

一旦您可以访问当前的 URL,您就会想要找到该元素并替换 CURRENTPAGE.html。为此,您需要一些方法来 select 元素。让我们给它一个 ID:

<a id="myLink" href="http://reddit.com/submit?url=CURRENTPAGE.html"></a>

现在我们可以像这样获取 link:

var link = document.getElement('myLink');

让我们再次获取URL,并给它一个更好的变量名:

var url = window.location.href;

现在让我们更新 link 的 HREF 属性:

link.href = link.href.replace('CURRENTPAGE.html', url);

就是这样!

仅使用纯 JavaScript,您可以设置 link 的 href,方法是将基本 href 作为字符串,然后在需要的地方添加变量。

var x = window.location.href;
document.getElementById("linkid").href = "http://reddit.com/submit?url="+encodeURIComponent(x);

为 link:

的完整 href 属性创建另一个变量

var myURL = "http://reddit.com/submit?url=" + x;

然后用该变量替换当前的 href 属性:

docment.getElementById("YourLinkTagID").href = myURL

获取不具有 url 值的当前 href 元素并附加当前 url.

已修改HTML

<a id='smsharing' 
   href="http://reddit.com/submit?url="
   title="This is a post!"
   target="_blank">link</a>

脚本

<script>
var x = window.location.href;
var link = document.getElementById("smsharing"); // store the element
var curHref = link.getAttribute('href'); // get its current href value
link.setAttribute('href', curHref + x);
</script>

应该这样做:

<script>
baseurl="http://www.facebook.com?"
function buildURL(item)
{
    item.href=baseurl+window.location.href;
    return true;
}
</script>
</head>
<body>
<a onclick="return buildURL(this)" href="">Google</a>
</body>