Change URL - Javascript

Change URL - Javascript

本文关键字:Javascript URL Change      更新时间:2023-09-26

我正在尝试使用JavaScript更改href链接。在我的例子中,我想将url路径从"linktwo.html"更改为"problem3.html"。

我知道可能有更简单的方法来做这件事,但这是为了练习目的。

使用下面的例子,我做错了什么来改变href ?

HTML:

<body onload="changeLink()">
<div id="p">
<h1> <a href="linkone.html"> first link </a></h1>
</div>
<div id ="q">
<a href="linktwo.html"> second link </a>
</div>
Javascript:

<script type="text/javascript">
function changeLink(){
document.getElementById("q").href.innerHTML="problem3.html";
}
</script>

选项一:修改Java脚本如下

<script type="text/javascript">
function changeLink(){
document.getElementById("q").href.innerHTML="<a href="problem3.html"> second link </a>";
}
</script>

选项二:修改代码如下

HTML:

<body onload="changeLink()">
<div id="p">
<h1> <a id ="p1" href="linkone.html"> first link </a></h1>
</div>
<div id ="q">
<a id ="q1" href="linktwo.html"> second link </a>
</div>

javascript:

<script type="text/javascript">
function changeLink(){
document.getElementById("q1").removeAttribute("href");
document.getElementById("q1").setAttribute("href","problem3.html");
}
</script>

请检查以下代码

<script type="text/javascript">
  function changeLink(){
    document.getElementById("q").href ="problem3.html";
  }
</script>

首先,你应该把ID放在链接本身,而不是包含div

<a href="linktwo.html" id="my_link"> second link </a>

那么,您应该使用href属性而不使用innerHTML

function changeLink(){
    document.getElementById("my_link").href = "problem3.html";
}

给出href的id

</head>
<body onload="changeLink()">
<div id="p">
<h1> <a href="linkone.html"> first link </a></h1>
</div>
<div id ="secondDiv">
<a href="test.html" id="q"> second link </a>
</div>

并从javascript中删除innerHTML部分:

<script type="text/javascript">
        function changeLink(){
            document.getElementById("q").href = "problem3.html";
}
</script>

您还可以:

<a id="changeurl" href="linktwo.html"> second link </a>

给你的锚点一个id,然后在script区域:

 link = document.getElementById('changeurl');
    link.removeAttribute('href');
    link.setAttribute('href','problem3.html');

首先得到对象。然后删除当前的href属性。之后,您可以添加一个新的!

感谢大家提供的有用信息!进一步的实验导致我想到把我的javascript改成这样。

function changeLink(){
document.getElementById("q").childNodes[1].href="problem3.html";

不确定这是否实用,但这是每个人解决方案的附加解决方案。