如何在插入表单jquery代码的div上运行我的jquery代码?

时间:2012-03-01 11:58:10

标签: php javascript jquery

我需要你的代码帮助我从jquery插入新的div时遇到问题  插入的div不适用于我的jquery代码,如果有人有解决方案请告诉我 这是我的Html代码

<input type="text" id="t" value=""/>
<a href="#" class="btn">click</a><br/>
<br/>
<div  class="profileInfoSectionwall"style="border:1px solid #ccc">
text111111

    <div class="remove" style="display: none;">
        <a class="post_remove" rel="1" herf="#">X</a>
    </div>
</div>
<br/>
<div  class="profileInfoSectionwall"style="border:1px solid #ccc">
text222222

    <div class="remove" style="display: none;">
        <a class="post_remove" rel="2" herf="#">X</a>
    </div>
</div>

和这个jquery代码

  $(document).ready(function(){
$(".profileInfoSectionwall").mouseenter(function(){
         $(this).children(".remove").show();

     });
     $(".profileInfoSectionwall").mouseleave(function(){
             $(".remove").hide();

         });

    $(".btn").click(function(){
         var s=$("#t").attr("value");
        $(this).after("<br/><br/><div class='profileInfoSectionwall' style='border:1px solid #ccc'>"+s+"<div class='remove' style='display: none;'><a class='post_remove' rel='3' herf='#'>X</a></div></div>");
    return  false;


    })



})

提前致谢

4 个答案:

答案 0 :(得分:6)

您可能想尝试使用.on方法,例如:

$(".profileInfoSectionwall").on('mouseenter', function(){
     $(this).children(".remove").show();

});

$(".profileInfoSectionwall").on('mouseleave', function(){
    $(".remove").hide();
});

答案 1 :(得分:3)

我创建了小提琴http://jsfiddle.net/mXBkV/1/

$(document).on('mouseenter', 'div.profileInfoSectionwall', function(){
    $(this).children(".remove").show();
});

$(document).on('mouseleave', 'div.profileInfoSectionwall', function(){
    $(".remove").hide();
});

答案 2 :(得分:1)

实际上,您需要的是live()方法,因为您希望处理当前现有OR未来DOM元素的事件(即:由JQuery创建)。

所以这是一个适合您的工作代码:

http://jsfiddle.net/sidou/CMab3/

如果您想要改进一下,请告诉我

答案 3 :(得分:0)

尝试.live函数live in jquery

 $(".profileInfoSectionwall").live('mouseenter', function(){
    $(this).children(".remove").show();
});

$(".profileInfoSectionwall").live('mouseleave', function(){
    $(this).children(".remove").hide();
});