使用javascript添加动态文本的链接

时间:2013-09-10 14:34:47

标签: javascript html html5 hyperlink

我正在尝试使用javascript创建动态文本链接:

<div class="container">

<div class="form-current">
  <form>
    <h2 style="margin-left:10px" ><a href='#' onclick="homePage()" id="h2Current" ></a></h2>
    <div id="node-current"></div>
  </form>
</div>

这是html,文本是通过javascript函数从DB加载的:

var h2Current = document.getElementById('h2Current');
h2Current.innerHTML = 'Day '+data[0]['day'];

参数“data”是一个简单的Json。文本正确显示下划线但是无法点击。

提前致谢

2 个答案:

答案 0 :(得分:0)

问题不在于JSON,因为您说它出现并且正确加下划线。问题是你在'onclick'事件期间实际上没有调用'homePage'函数,或者'homePage'函数的代码中存在未处理的异常。以下是调试此问题的方法。

您需要在Chrome中打开您的网站,然后打开开发者工具“F12”。单击“源”选项卡,找到您的.JS文件或页面文件,如果它包含函数“homePage”内联。您可能需要打开“文件导航器”。如果是这种情况,请单击“元素”选项卡正下方的“框中的箭头”。

打开文件后,找到函数声明'homePage'并断点第一个非var声明行。现在,只需单击链接并单步执行该功能。您可能会发现甚至根本没有调用该函数,您甚至可能会看到列出的JS异常。解决代码中内嵌的任何异常。如果您实际上正在使用函数,请逐步执行包含任何嵌套函数的每一行“F11”,直到找到异常。

答案 1 :(得分:0)

您需要检查您的JSON。检查我写的JSON是否正确。检查你的JSON格式。您可以使用jsonlint.com来验证您尝试使用的JSON。

<html>
<head>
</head>
<body>
<div class="container">

<div class="form-current">
  <form>
    <h2 style="margin-left:10px" ><a href='#' onclick="homePage()" id="h2Current" ></a></h2>
    <div id="node-current"></div>
  </form>
</div>
</div>
<script>
var data =  [{ 'day':'monday'},{ 'day':'tuesday'}]

var h2Current = document.getElementById('h2Current');
h2Current.innerHTML = data[0]['day'];
</script>
</body>