我正在尝试使用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")
答案 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秒,您将看到链接正在更新)
答案 1 :(得分:2)
问题是您将num_output
标记嵌套在<a>
标记内,导致在更改<h3>
属性时删除该链接。您可以丢失text
代码并直接设置<h3>
文字:
<a>
$("#title").text("New title");
$("#aId").text("New author").attr("href", "http://bing.com/");