-1

我搜索了整个堆栈溢出并得到了许多解决方案,但没有一个解决方案,这就是为什么发布这个线程。我创建了一个包含以下内容的 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 最后以 # 停止。我需要做什么修改。请帮我。

问候。

4

3 回答 3

1

我发现您在脚本中使用时拼错了类:

在您的链接中,您的班级名称是likelink,但您likeLink在选择器中使用。问题是jQuery-CSS选择器区分大小写。

所以改变:

$('.likeLink').click(function() {
    //CODE STUFFS
})

至:

$('.likelink').click(function() {
    //CODE STUFFS
})

编辑:

正如 bbldzr 所说,替换链接中的#withjavascript:void(0)和 shin 建议preventDefault()的添加以停止链接形式传播并停止默认处理程序的工作。所以你的脚本看起来像:

$(function() {
    $('.likelink').click(function(event) {
         event.preventDefault();    
        $('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
    });
});

它会正常工作。

于 2013-05-07T06:07:12.580 回答
0

尝试#javascript:void(0)ina标签替换

<a class='likelink' href='javascript:void(0)'>

并检查选择器中的类名

于 2013-05-07T05:58:28.520 回答
0

在函数调用中添加 return false,或使用 event.preventDefault(); 用于防止事件的默认操作。

$(function() {
    $('.likeLink').click(function(event) {
     event.preventDefault();    
        $('#myDiv').load('example.php?var1="abcd"&var2="efgh"');

    });
});
于 2013-05-07T05:59:24.523 回答