如何通过单击相同的链接从两个不同的div(从html)加载两个div

时间:2012-09-19 20:38:11

标签: javascript jquery html css

我想点击a#lanostracasa从外部.html获取两个不同的div并将其加载到另外两个div中(外部文件#fotoCasa中的havePicture) (http://frostcode.altervista.orghttp://frostcode.altervista.org/db.html用于外部HTML。)

我发疯了,因为我看到容器中的文字在看到它加载时,所有文本都消失了,没有加载任何内容。

<div id="contAll">
   <div id="fotoCasaHtml"></div>
   <div id="container">
    <p>
    <div id="imgHome"><img class="img"src="images/noimg.png"></div>
          blablablablablablabla
    </p>
   </div>
</div>

我想点击的链接:

<div id="cssmenu">
<li><a id="lanostracasa"href='#'><span>La Nostra Casa</span></a>
</div>

以及不起作用的JavaScript:

 <script type="text/javascript" language="javascript">
   $( function() {

      $( 'a#lanostracasa' ).click(function() {
         var postData = ''; // you can send any data to ajax file.
         $('#container , #fotoCasaHtml').html('<p>loading</p>');
         $.ajax( {
            url : 'db.html',
            type : 'post',
            data : postData,
            success : function( resp ) {
               $('#container').html($('#lanostracasa-ita' , resp).html());
               $('#fotoCasaHtml').html($('#fotoCasa' , resp).html());
            }
         });
            return false;
      });
   });
   </script>

我也在jQuery中使用此调用来获取相同的链接,但我认为它不会影响JavaScript:

$("#cssmenu a#lanostracasa").click(function(){
$('#container').load('db.html #lanostracasa-ita')
});

1 个答案:

答案 0 :(得分:0)

所以你有两个事件绑定到同一个元素,它们本身是矛盾的。您不能将同一事件(单击)绑定到同一元素两次。在这种情况下,您有一个需要解决的优先级问题。一个功能正在被激活,一个不是,选择使用哪个。此外,如果从逻辑角度考虑这个问题,那么将同一事件绑定两次有什么意义呢?如果ONCLICK你想要发生两件事,那就把它们放在一个函数中。

此外,您必须记住,在将事件绑定到元素时,元素本身必须在绑定之前存在。我看不到你的HTML来验证你的第二个.click()事件是否包含在一个函数闭包或$(document).ready()中,但这也可能是一个混乱的来源。