Javascript 检查元素是否递归地具有父元素

Javascript 检查元素是否递归地具有父元素,javascript,jquery,html,Javascript,Jquery,Html,我有以下HTML和javascript:: <div id="1"> <div id="2"> <div id="3" class="clickable"> </div> </div> </div> <div id="4" class="clickable"> </div> <script> $(".clickable").c

我有以下HTML和javascript::

<div id="1">
    <div id="2">
        <div id="3" class="clickable">

        </div>
    </div>
</div>

<div id="4" class="clickable">

</div>

<script>
    $(".clickable").click(function ()
    {
        alert($(this).closest("#1").length == 0);
    });
</script>
当有人单击可单击元素时,我想检查:

如果单击的元素是[div.id==1]的子元素,则alertTrue。 否则,则为false。 例如:

单击id=3时-alertTrue。 单击id=4时-alertFalse。
为什么这对我不起作用?

你真的想检查最近值是否为1吗

alert($(this).closest("#1").length != 0);

Demo fiddle:

除了你的==之外,你所拥有的一切对我来说都很好,你的==应该是=@j08691 OP的代码检查1是否是祖先,而不是父级。@Oriol-我认为OP误用了术语child,因为他的示例显示,单击3应返回true。