Jquery不会将内容加载到DIV区域。我哪里做错了



好吧,所以我尝试使用jQuery加载方法从另一个页面加载内容,以便可以出现内容而不刷新页面...我做到了,但是当我单击链接时,它仍然将我重定向到另一页,而不是加载到Div的内容

以下是我的代码。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title> MadScore, A Social Scoring Platform </title>
<link rel="stylesheet" type="text/css" href="css/madscore.css">
<link rel="stylesheet" type="text/css" href="css/skins/tango/skin.css" />
<script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="javascript/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="javascript/jquery.jcarousel.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
        scroll: 1, buttonNextHTML:"<div></div>", buttonPrevHTML:"<div></div>"
    });
});
</script>

//Here is where I made the Jquery call for the div below with class "panel" but it won't load ..
<scrip type="text/javascript">
$(document).ready(function(){
  $("profile").click(function(){
    $(".panel").load("this.href");
  });
});
</script>
</head>
<body>
<div class="sliding-panel">
<div class="container">
<ul id="mycarousel" class="jcarousel-skin-tango">
<li>
<li>
<div class="panel"> //panel supposed to be triggered by Jquery
<h1> People </h1>
<?php
 database_connect();
$query = "select * from People";
$result = $connection->query($query);
$row_count =$result->num_rows;
for($i = 1; $i <= $row_count; $i++)
  {
   $row = $result->fetch_assoc();
    echo "<a href='/profile.php?id=".$row['ID']."' id='profile'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>";
  }

?>
</div>
</li>
</ul>

您在绑定时缺少#

$(document).ready(function(){
  $("#profile").click(function(){  // add # here
    $(".panel").load("this.href");
  });
}); 

还使用.on将事件绑定到动态添加的元素。

首先,您的选择器缺少#。另外,您只是将字符串传递给负载方法:"this.href",您需要传递实际链接:$this.attr('href')

关于链接的问题,您需要防止默认操作(这是a上的单击)。为此,您有两个选择:

<script type="text/javascript">
   $(function(){
    alert('on ready works!');
      $("#profile").click(function(event){
        $(".panel").load($this.attr('href'), function(){
          alert('ajax called finished');
        });             
        return false; // or event.preventDefault();
      });
    });
    </script>

最新更新