在子元素的onclick事件处理程序中定位父元素

GoM*_*a54 1 html javascript

是否可以使用javascript中的事件处理程序来定位父div的ID?

给定以下代码,当您单击图像时,将触发包含图像"两个"ID的警报.是否有可能返回"one",这是父div的ID,而是出现在这个框中?

<div id="one">
    <p>Some Text</p>
    <img src="http://placehold.it/48x48" alt="" id="two" onclick="random(id)" />
</div>
    
<script>
    function random(id) {
        alert("working" + " " + id);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

mas*_*ash 5

您可以this.parentNode获取对父节点的引用.然后你可以获得它的ID .id.所以alert(this.parentNode.id)应该工作.

<div id="one">
    <p>Some Text</p>
    <img src="http://placehold.it/48x48" alt="" id="two" onclick="random(this)" />
</div>
    
<script>
    function random(node) {
        alert("working" + " " + node.parentNode.id);
    }
</script>
Run Code Online (Sandbox Code Playgroud)