我是HTML的新手。我用Google搜索了一些问题并尝试了一些代码,但它没有用,所以我在这里寻求帮助。
我想要实现的目标:取代??在HTML段落中包含来自网址的值(例如: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>
urlVar
( Ryan )而不是?{在HTML段落内?答案 0 :(得分:0)
我假设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>
答案 1 :(得分:0)
你在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参数