使用JS更改标题下的url

时间:2017-10-15 09:59:31

标签: javascript jquery html

我正在尝试使用js函数动态更改标题下的url。不幸的是我堆叠在一些简单的部分。

根据link我试图解决这个问题......

我的代码的简化版本:

<div class="details">
  <h1 id="title">Old title</h1>
  <h3 id="author">
    <a id="aId" href="https://www.google.pl/">Old author</a>
  </h3>
</div>

脚本:

var title = $("#title");// the id of the heading
var author = $("#author");// id of author 

title.text("New title");
author.text("New author");
var a = document.getElementById('aId');
a.href = "bing.com"

问题是作者现在不可点击。你可以帮帮我吗?

编辑:

感谢您的帮助! 解决方案:

var title = $("#title");// the id of the heading
var author = $("#author a");// id of author 

title.text("New title");
author.text("New author");
author.attr("href", "http://bing.com")

2 个答案:

答案 0 :(得分:2)

当您致电author.text("New author");时,您将删除<h3 id="author">元素中的链接表单。它基本上来自:

<h3 id="author">
  <a id="aId" href="https://www.google.pl/">Old author</a>
</h3>

<h3 id="author">New author</h3>

您应该直接在链接中更改作者的名称而不是h3,如下所示:

 var title = $("#title");// the id of the heading
 var author = $("#author a");// id of author 

 title.text("New title");
 author.text("New author");
 var a = document.getElementById('aId');
 a.href = "http://bing.com"

特别注意作者的选择器已更改为a元素中的#author元素。

您可以在此处测试代码:(等待3秒,您将看到链接正在更新)

https://jsfiddle.net/nq8hwr2x/

答案 1 :(得分:2)

问题是您将num_output标记嵌套在<a>标记内,导致在更改<h3>属性时删除该链接。您可以丢失text代码并直接设置<h3>文字:

<a>
$("#title").text("New title");
$("#aId").text("New author").attr("href", "http://bing.com/");