gpt4 book ai didi

javascript - 获取最近 Div 的 ID 不工作两次

转载 作者:行者123 更新时间:2023-11-28 19:27:52 24 4
gpt4 key购买 nike

我正在处理一个关闭按钮,并且正在使用“onclick”。当用户按下按钮时,我尝试将父 ID 的显示值设置为“无”。就像下面这样。

function displayNone() {
var id= $('.btnClose').closest('div').attr('id');
$('#'+id).css('display','none');
}


<div class="popup" id="dc-16-decision">
<a href="#" onclick="displayNone();" class="btnClose">X</a>

</div>

<div class="popup" id="dc-16-implementation">
<a href="#" onclick="displayNone();" class="btnClose">X</a>
</div>

我能够通过第一个链接使其工作一次,但之后的任何内容都不起作用。因此,我对 JsFiddle 进行了测试,发现当我单击第二个链接时,它仍然返回第一个链接的父 ID,而不是第二个链接的父 ID。我对此很陌生,不确定我做错了什么。我尝试使用 $(this) 而不是 $('.btnClose') 但它返回“未定义”。

http://jsfiddle.net/5x7g96hu/

<script>
function test() {
var name = $('.btnClose').closest('div').attr('id');
console.log(name);
}
</script>

<div class="popup" id="dc-16-decision">
<a href="#" onclick="test();" class="btnClose">X</a>

</div>

<div class="popup" id="dc-16-implementation">
<a href="#" onclick="test();" class="btnClose">X</a>
</div>

最佳答案

您需要使用关键字 this 将点击元素上下文传递给点击处理程序,以定位当前点击的元素:

脚本:

<script>
function test(obj) {
var name = $(obj).closest('div').attr('id');
console.log(name);
}
</script>

HTML:

 <div class="popup" id="dc-16-decision">
<a href="#" onclick="test(this);" class="btnClose">X</a>
</div>

<强> Working Demo

您可以使用以下方法通过 jquery 绑定(bind)点击事件:

$('a').click(function(){
console.log($(this).closest('div').attr('id'));
});

<强> Demo Using Jquery click handler

关于javascript - 获取最近 Div 的 ID 不工作两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com