我搜索了所有堆栈溢出并得到了许多解决方案,但没有工作任何一个,这就是为什么发布这个线程。我创建了一个index.php文件,其中包含以下内容。
<?php
$items=array("10.3.2.0","10.3.2.1","10.3.2.3");
for($i=0;$i<count($items);$i++)
{
echo "<a class='likelink' href='#'>$items[$i]</a>" . "<br>";
}
?>
<html>
<head>
<script type="text/javascript">
$(function() {
$('.likelink').click(function() {
$('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
});
});
</script>
</head>
<body>
<div id="myDiv"></div>
</body>
</html>
我的目的是在点击链接时使用example.php的输出填充div标签。但是当我点击链接时,它没有加载任何内容,加载URL最后用#停止。我需要做什么修改。请帮帮我。
问候。
答案 0 :(得分:1)
我发现你在剧本中使用时拼错了课程:
在您的链接中,您的班级名称为likelink
,但您在选择器中已成为likeLink
。问题是jQuery
- CSS
选择器区分大小写。
所以改变:
$('.likeLink').click(function() {
//CODE STUFFS
})
要:
$('.likelink').click(function() {
//CODE STUFFS
})
修改强>
正如bbldzr所说,用链接中的#
替换javascript:void(0)
并将其作为shin建议
添加preventDefault()
以停止链接表单传播并停止默认处理程序工作。
所以你的脚本看起来像:
$(function() {
$('.likelink').click(function(event) {
event.preventDefault();
$('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
});
});
它将按预期工作。
答案 1 :(得分:0)
尝试将#
替换为javascript:void(0)
代码
a
<a class='likelink' href='javascript:void(0)'>
检查选择器中的类名
答案 2 :(得分:0)
在函数调用中添加return false,或使用event.preventDefault();用于防止事件的默认操作。
$(function() {
$('.likeLink').click(function(event) {
event.preventDefault();
$('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
});
});