将jquery绑定到动态加载的内容

将jquery绑定到动态加载的内容,jquery,Jquery,我有以下html树: <div class="section yellow" id="section1"> <div id="content-wrap1" class="content-wrap"> </div> 这将成功执行,结果HTML如下所示: <div class="section yellow" id="section1"> <div id="content-wrap1" class="content-wrap"&

我有以下html树:

<div class="section yellow" id="section1">
    <div id="content-wrap1" class="content-wrap">
</div>
这将成功执行,结果HTML如下所示:

<div class="section yellow" id="section1">
    <div id="content-wrap1" class="content-wrap">.
        <div id="content">
        <a href="whoweare.php">Who we are</a>
        <a href="whatwedo.php">Our team</a>
        <p>ABOUT US : Dance is a type of art</p>
    </div>
</div>
<div class="section yellow" id="section1">
    <div id="content-wrap1" class="content-wrap">.
        <div id="content">
        <a href="whoweare.php">Who we are</a>
        <a href="whatwedo.php">Our team</a>
        <p>Hi there! How are you?</p>
    </div>
</div>
Ques1:这是()上的
的正确用法吗?因为当我点击链接时,屏幕上不会出现
alert 1
,页面只会导航到
whoware.php


问题2:如果我确实获得了警报,从理论上讲,是否有可能单击一个加载内容的链接来替换最初单击的链接?

问题1

您的bind语句应该如下所示:

$(document).on("click", "#section1 #content-wrap1 #content a", function() {
    ...
});
请注意,我们现在绑定到
文档
对象,以容纳与动态或其他方式加载的第二个选择器(
#section 1#content-wrap1#content a
)匹配的任何和所有元素

另外,请注意第二个选择器(空格)中的更正

问题2

从理论上讲,是否有可能单击一个加载内容的链接来替换最初单击的链接


是的。总共。

问题1:这是on()的正确用法吗?因为当我点击链接时,屏幕上不会出现警报1,页面只会导航到whoware.php

  • 您缺少一个美元符号:
    $
    并使用
    文档
    您将同一个id绑定到同一个id上,这是不正确的,如果您愿意:&如果您更愿意知道原因
代码

$(document).on("click", "#content a", function(){
        alert("1");
        toLoad = $(this).attr('href')+' #content';
        $('content-wrap1').load(toLoad);
})
问题2:如果我真的收到了警报,从理论上讲,是否有可能单击一个加载内容的链接来替换最初单击的链接

  • 这可能会帮助您:

    • +1,回答得好兄弟,请修复此选择器
      #第1节#content-wrap1#content a
      @undefined谢谢bruverno
      :)
      选择
      #section1#content-wrap1#content a
      有什么问题吗?@sounds请参见上面的帖子,即techfoobar,进一步查看这里:也可以查看这里的
      :)
      哦,顺便说一句,如果我使用最近的父ID(如
      $(“#section1')
      ,而不是
      $(文档)
      。有什么想法?
      ('#section1').on("click", "#section1#content-wrap1#content a", function(){
          alert("1");
          toLoad = $(this).attr('href')+' #content';
          $('content-wrap1').load(toLoad);
      }
      
      $(document).on("click", "#section1 #content-wrap1 #content a", function() {
          ...
      });
      
      $(document).on("click", "#content a", function(){
              alert("1");
              toLoad = $(this).attr('href')+' #content';
              $('content-wrap1').load(toLoad);
      })