从另一个网址页面加载标记内容

时间:2012-10-08 04:33:30

标签: javascript jquery

我想创建一个内容幻灯片,以预览产品列表。

这是我可以创建的工作幻灯片:

<body>
   <script src="http://mysite.com/slideshow.php type="text/javascript">
      ...slideshow scripts here...
   </script>

   <div id="preview">
      <a href="http://mysite.com/product1/productDetail">
         <img class="imageElement" src="http://mysite.com/product1.jpg">
      </a>

      <a href="http://mysite.com/product2/productDetail">
         <img class="imageElement" src="http://mysite.com/product2.jpg">
      </a>

      ...more <a> </a>
   </div> 
</body>

网站访问者可以点击图片打开产品详细信息页面。

当图像循环播放时,我想自动显示每个图像的“产品ID”。 ID位于产品详细信息页面(在上面的标签中),我不知道如何检索&amp;正确显示。

我尝试了以下但没有运作:

<div id="content"></div>
<script>
  $("#content").load("http://mysite.com/product1/productDetail #productID",function(){
     var sample = $('productID).text();
     $('#content').text(sample);
     });
  });
</script>

我做错了什么?

更新

我意识到负载指向静态URL,因此我将代码更改为:

<script>
   $("#preview a").each(function(index){
      var url = $(this).attr("href"); 
      $("#content").load(url+" #productID",function(){
        var sample = $("#productID").text();
        $("#content").text(sample);
      });
   });
</script>

仍然没有工作!!!

1 个答案:

答案 0 :(得分:0)

$(..).load()将加载数据,然后将其放入匹配的元素中(请参阅here)。您当前的代码会尝试将#content div替换为整个页面,而不仅仅是产品ID。为此,您最好使用$.get$.ajax

此外,您当前的代码将循环浏览每个链接并使用产品ID更新#content div,但它会尽可能快地循环,而不是与幻灯片同步。您需要检测当前正在显示的图像/链接,然后加载该特定图像的产品ID。