jquery选择动态加载的div

时间:2012-11-17 15:47:42

标签: jquery jquery-selectors

我有以下jQuery将一些html加载到一个div中,当它悬停在上面时:

$("div").hover(
    function () {
        $(this).load('htmlsnippets/divHoverButtons.txt');
    }, 
    function(){
        $("#divHoverButtons").css("visibility", "hidden");
    });

$("#setWidth").click(
    function(){
        $(this).css("visibility", "hidden");
    });

divHoverButtons.txt包含:

<div id="divHoverButtons">
    <div id='setWidth'>Set Width</div>
</div>

因此,当任何div悬停时,它变为:

<div>
    <div id="divHoverButtons">
        <div id='setWidth'>Set Width</div>
    </div>
</div>

问题是,当我点击div“setWidth”时,它不会隐藏它。我做错了什么?

1 个答案:

答案 0 :(得分:3)

你必须使用delegate()因为你的div #setWidth在加载时不在DOM中

http://api.jquery.com/delegate/

$("body").delegate("#setWidth", "click", function() {
  $(this).hide();
});