Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加带有URL元素的动态内容_Javascript_Url_Dynamic - Fatal编程技术网

Javascript 添加带有URL元素的动态内容

Javascript 添加带有URL元素的动态内容,javascript,url,dynamic,Javascript,Url,Dynamic,我有一个问题,我想知道这是否可能。我想通过更改URL中的id,将内容动态添加到html页面中 我的意思是,例如,我想在网页上添加一个人的名字: 首先,我的页面是: 您好欢迎来到我们的页面 我想得到的结果是,通过编写以下url:代码将自身更新为: <p> Hello <span id="YourName">YourName</span> welcome to our page</p> 您好您的名字欢迎来到我们的页面 因此,

我有一个问题,我想知道这是否可能。我想通过更改URL中的id,将内容动态添加到html页面中

我的意思是,例如,我想在网页上添加一个人的名字:

首先,我的页面是:

您好欢迎来到我们的页面

我想得到的结果是,通过编写以下url:代码将自身更新为:

<p> Hello <span id="YourName">YourName</span> welcome to our page</p> 
您好您的名字欢迎来到我们的页面


因此,只要修改URL,span的id和内容就会更新。我真的不知道如何做到这一点。我想知道是否可以通过在url上键入id来动态地为span指定id,然后检索此id并将其用作span的值。

您可以使用
window.location.hash
从url获取id值

此外,您可以使用
hashchange
窗口事件来查看这些更改

函数showHash(){
const newHash=window.location.hash.replace(“#”,”);
const resultSpan=document.querySelector(“.hash值”);
resultSpan.id=newHash;
resultSpan.innerHTML=newHash;
}
addEventListener(“hashchange”,showHash,false);
addEventListener(“DOMContentLoaded”,showHash)

URL中的当前哈希为:

您可以使用JavaScript获取当前链接,例如:


让YourLink=window.location.href;
让startingPoint=YourLink.indexOf(“#”);
让endingPoint=YourLink.indexOf(“/”);//如果名称不是链接上的最后一个内容
让NameYouWant=YourLink.substring(起点、终点);
//所以“NameYouWant”将是您需要使用的名称
如果您在链接中使用“#”作为每个名字的起始点,希望这会有所帮助。

也许您可以试试这个

let splits = window.location.href.split("#");
let span = document.getElementsByTagName("p")[0].getElementsByTagName("span")[0];
span.innerText = splits[splits.length - 1];
span.id = splits[splits.length - 1];

谢谢您的回答,但我想我应该更新我的问题。您是否在本地测试了代码片段?这就是你需要实现的吗?意思是当url为www.mypage.com/index#HerName时,内容将是
你好HerName欢迎来到我们的页面
?这正是我试图实现的。所以span
id
会随着标签的变化而变化吗?是的!我想知道这是否可能?是的,请检查下面的我的答案谢谢你的答案,但是我如何使用它来更新我的span的内容?@mscmdaddcts你给span的id是这样的:
,然后你添加
$('#mySpan')[0]。innerHTML=NameYouWant到您的脚本,P.S抱歉回答晚了
let splits = window.location.href.split("#");
let span = document.getElementsByTagName("p")[0].getElementsByTagName("span")[0];
span.innerText = splits[splits.length - 1];
span.id = splits[splits.length - 1];