我正在尝试使用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。文本正确显示下划线但是无法点击。
提前致谢
答案 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>