如何在HTML段落中添加URL变量



我是HTML的新手。我在谷歌上搜索了这个问题,并尝试了一些代码,但它不起作用,所以我在这里寻求帮助。

我正在努力实现的目标:替换??在HTML段落中使用URL中的值(例如:http://mysite.html?name=Ryan)

<p> Hello ??<br> Thanks for answering my question</p>

我的问题:1。这个Javascript应该从URL中提取Ryan-正确吗?

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
// Parse the URL parameter
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[[]]/g, "\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/+/g, " "));
}
// Give the parameter a variable name
var urlVar = getParameterByName('name');
});
</script>
  1. 如果问题1中的代码正确,我如何将值放在urlVar(即Ryan(中,而不是??在HTML段落中

URL中有hashbang吗?你可以试试这个:

function getParameterByName = function(name, useHash) {
name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
var regex = new RegExp("[\?&]" + name + "=([^&#]*)"),
results = regex.exec(useHash ? location.hash : location.search);
return results === null ? undefined : decodeURIComponent(results[1].replace(/+/g, " "));
}

传递true或false作为useHash参数

我假设HTML已经呈现,然后使用javascript。

在这种情况下,你需要有一个手柄来更换它。

<p> Hello <span id="username">??</span> Thanks for answering my question</p>

现在,在Javascript代码中,您可以使用以下内容:

var urlVar = getParameterByName('name');
document.getElementById('username').innerHTML = urlVar;

编辑:<p> Hello <span id="username">??</span> Thanks for answering my question</p>

使用Jquery document.ready在DOM呈现为后执行代码

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
// Parse the URL parameter
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[[]]/g, "\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/+/g, " "));
}
// Give the parameter a variable name
var urlVar = getParameterByName('name');
document.getElementById('username').innerHTML = urlVar;
});
</script>

最新更新