用.not()排除的jQuery触发器

时间:2014-04-25 01:01:59

标签: javascript jquery html css

所以我想点击img“tri”隐藏div“popu”。但img是div popu的孩子所以我试过.not()。它没用。注意:我也不希望div“textb”触发隐藏。

HTML

<div id="re" class="column"><div id="s" class="popu"><img class="tri" src="img/whtri.png"/>
    <div class="textb"><center style="font-size:14px;">Item Title</center>
        <span style="font-size:12px;">Description this is an item that is very good and i like it very much! I like 
            <span class="highl">More...</span>
        </span>
        <span style="">
        </span>
    </div>
</div> 

JQuery的

$("body").click(function (e) {
 if (!$(e.target).closest(".popu").length.not(".tri")) {
    $("#s").hide(200)
 }
});

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

您可以使用.parent()

$('img.tri').click(function() {
    $(this).parent().hide();    
});

.closest()

$('img.tri').click(function() {
    $(this).closest('.popu').hide();    
});

<强> Fiddle Demo

答案 1 :(得分:0)

您也可以使用:

$('.tri').click(function(){
$('#s').hide();
});