jQuery onclick检查被点击区域是否有孩子

时间:2018-11-25 14:36:02

标签: javascript jquery html

我在div中有多个div。这些div具有相同的名称:

<div class="remodal-wrapper remodal-is-opened" style="display: block;">
    <div class="remodal remodal-is-initialized remodal-is-opened" data-remodal-id="success-modal" tabindex="-1">
        CONTENT ONE
    </div>
</div>

<div class="remodal-wrapper remodal-is-closed" style="display: none;">
    <div class="remodal remodal-is-initialized remodal-is-opened" data-remodal-id="error-modal" tabindex="-1">
        CONTENT TWO
    </div>
</div>

因为当用户单击location.reload();所在的包装器时需要执行child = data-remodal-id="success-modal",因此我需要构建一个onclick function

问题是我在这里为模态使用库,并且所有包装器都具有相同的类名。所以有可能做类似的事情:

jQuery('.remodal-wrapper -> where child = data-remodal-id="success-modal"').click(function () {
    location.reload();
});

1 个答案:

答案 0 :(得分:2)

这将选择包装的任何子项。

jQuery('.remodal-wrapper div[data-remodal-id="success-modal"]').click(function () {
    location.reload();
});

或者如果您需要使其成为直系子女:

jQuery('.remodal-wrapper > div[data-remodal-id="success-modal"]').click(function () {
    location.reload();
});

在香草JS中,您将使用querySelectorAll,然后使用forEach ...我希望这能回答您的问题。