gpt4 book ai didi

javascript - JQuery closest 属性返回 undefined

转载 作者:行者123 更新时间:2023-11-30 08:32:13 25 4
gpt4 key购买 nike

我一直在查看其他一些示例,但不幸的是它们并不完全相同。我正在尝试删除一些数据 onclick(这里省略了那部分,只需要那个 id)。问题是它为我想要的 id 返回 undefined。

 function deleteMessage(){
var $currentId = $(this).closest(".ulrecords").attr('id');
alert("ID: " + $currentId)
}

方法调用如下

<a href="javascript:deleteMessage();" id="amessage">

HTML 看起来像这样

<ul class="chat-messages">
<ul id="msg_1234567890_a1bs2e" class="ulrecords">
<li>
John
<span>27 minutes ago</span>
<a href="javascript:deleteMessage();" id="amessage"> X</a>
</li>
<li id="limessage">
Some message here
</li>
</ul>
<ul id="msg_9234742878_73bhad" class="ulrecords">
<li>
John
<span>28 minutes ago</span>
<a href="javascript:deleteMessage();" id="amessage"> X</a>
</li>
<li id="limessage">
Some other message here
</li>
</ul>
</ul>

所以当我点击其中一个 ul 时,我想获得那个希望任何人都可以指出我正确的方向

最佳答案

因为 this 在您的案例中是窗口。

要么传入对你点击的元素的引用

<a href="javascript:deleteMessage(this);" id="amessage">

function deleteMessage(elem){
var $currentId = $(elem).closest(".ulrecords").attr('id');
alert("ID: " + $currentId)
}

或者更好的是,使用 eventListeners 附加事件。

$(document).on("click", ".ulrecords", function () {
alert(this.id);
});

$(document).on("click", ".ulrecords a", function () {
var $currentId = $(this).closest(".ulrecords").attr('id');
});

ID 也是单数。

关于javascript - JQuery closest 属性返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987351/

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