【发布时间】:2016-04-06 14:56:06
【问题描述】:
我在home.php 上有一个锚链接,它链接到这个:
<a href='#?id=$thought_id' class='toggle-comment' data-id='$thought_id' '> Comments ($num_of_comments) </a>
当悬停在这个锚链接上时,我希望看到这样的结果:
localhost/#?id=210
但我得到的是这个:
localhost/home.php#?id=211
我看到了一个类似的问题here:但是,应用了最佳答案的建议后,我仍然得到相同的结果。我在profile_page.php 上也有完全相同的锚链接,它在那里完美运行。
锚链接并不意味着去任何地方,点击时,它会动态放大它下面的div,显示cmets。
编辑:
锚链接的工作原理:
单击时,锚链接会展开其下方的 div。单击时,会出现此 div:
echo "<div id='toggleComment$thought_id' class='new_comment'>";-
然后对于添加到此
thought的每个新评论,另一个 div 会被回显<div class='new_comm' id='thoughtId".$thought_id."-childId".$comment['id']."'>
JavaScript 来实现这一点:
$(function() {
$("a.toggle-comment").on("click", function(event) {
// prevents browser to go to href's #
event.preventDefault();
// uses Jquery's data() function to get comment id from link's data-id attribute
var id = $(this).data('id');
// get element by id and toggle display
var ele = document.getElementById("toggleComment" + id);
$(ele).toggle();
});
});
编辑 2:
在聊天中与 Rocki 得出结论。问题是我定义了两次 JavaScript,一次是在 home.php 的源代码中,一次是在 functions.js 中,它也在 home.php 的 head 中。从源代码中删除脚本,代码开始运行。
【问题讨论】:
标签: javascript php html