<P class="demo" >aaa</P>
  <script>$(".demo").click(function(){  
alert("456");
}
 )
 </script>
 
这样是没问题的!!!但是 如果把jquery的语句块写在前面 ,就不行了!就解释!!!

解决方案 »

  1.   

    如果写在前面
    $(".demo").click(function(){
        alert('456');
      }
    )
    定义click事件时因为,<p class="demo">aaa</p> 不存在而导致绑定事件失败。如果非要写在前面可以这样写
    $(".demo").live('click',function(){
        alert('456');
      }
    )
    通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。
    $(selector).live(event,data,function)
      

  2.   

    因为LZ的代码是页面加载过程中执行,即一边加载一边执行JS。所以把JS代码放在P前面会发生事件绑定无效,P元素还未生成
    LZ应该在页面加载完毕后执行,JS有相应的方法$(document).ready(function() {
        $(".demo").click(function(){  
            alert("456"); }
        });
    });这样无论写在哪里都能正确生效
      

  3.   

    因为DOM元素还未加载完成,因此你click无效。
    如果你要把jq放在前边,
    外层需要加上
    $(function(){
      $('****').click(function(){
      });
    })

    window.onload=function(){
     $('****').click(function(){
      });
    })
      

  4.   

    因为LZ的代码是页面加载过程中执行,即一边加载一边执行JS。所以把JS代码放在P前面会发生事件绑定无效,P元素还未生成
    LZ应该在页面加载完毕后执行,JS有相应的方法$(document).ready(function() {
        $(".demo").click(function(){  
            alert("456"); }
        });
    });这样无论写在哪里都能正确生效
    你自己试试 你这种方法 放前面。。也是不行的!!!
      

  5.   

    因为LZ的代码是页面加载过程中执行,即一边加载一边执行JS。所以把JS代码放在P前面会发生事件绑定无效,P元素还未生成
    LZ应该在页面加载完毕后执行,JS有相应的方法$(document).ready(function() {
        $(".demo").click(function(){  
            alert("456"); }
        });
    });这样无论写在哪里都能正确生效
    你自己试试 你这种方法 放前面。。也是不行的!!!因为LZ的代码是页面加载过程中执行,即一边加载一边执行JS。所以把JS代码放在P前面会发生事件绑定无效,P元素还未生成
    LZ应该在页面加载完毕后执行,JS有相应的方法$(document).ready(function() {
        $(".demo").click(function(){  
            alert("456"); }
        });
    });这样无论写在哪里都能正确生效
    你自己试试 你这种方法 放前面。。也是不行的!!!因为LZ的代码是页面加载过程中执行,即一边加载一边执行JS。所以把JS代码放在P前面会发生事件绑定无效,P元素还未生成
    LZ应该在页面加载完毕后执行,JS有相应的方法$(document).ready(function() {
        $(".demo").click(function(){  
            alert("456"); }
        });
    });这样无论写在哪里都能正确生效
    你自己试试 你这种方法 放前面。。也是不行的!!!这个代码多了个“}” 
      

  6.   


    <script type="text/javascript">
    $(document).ready(function() {
        $(".demo").click(function(){  
            alert("456");
    });
    });
    </script> <P class="demo" >aaa</P>