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

标签 javascript html

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

给定以下代码,当您单击图像时,会触发包含图像“two”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>

最佳答案

您可以执行 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>

关于javascript - 在子元素的 onclick 事件处理程序中定位父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39542223/

相关文章:

javascript - 图像在浏览器刷新时从左侧滑入/滑出

javascript - 使用 AngularJS 设置事件标签样式

javascript - html javascript node.children 似乎是一个指针

javascript - 使用复选框更改背景图像宽度?

html - 如何将文本定位在水平尺上方?

html - 悬停时向表格单元格添加左边框

JavaScript、数字和字符串

javascript - 如何使用 JavaScript 动态更改函数的内容

javascript - EmberJs - 将值与模板绑定(bind)时出现问题

Javascript:如何使用const来要求