Javascript 尝试返回父对象时,与.parents()和.closest()的行为异常<;ul>;jQuery中的元素id
所以我有2个容器,每个容器都有id。其中有一个Javascript 尝试返回父对象时,与.parents()和.closest()的行为异常<;ul>;jQuery中的元素id,javascript,jquery,closest,parents,Javascript,Jquery,Closest,Parents,所以我有2个容器,每个容器都有id。其中有一个元素列表 第一个是。第二个是 每个中都有一个id为close的标记(这是我用作选择器的链接),单击后将删除每个节点。我试图将每个容器作为目标,以查看其来源 我的HTML是: <!-- coaches box --> <div class="box"> <div class="heading">
元素列表
第一个
是
。第二个是
每个
中都有一个id为close的标记(这是我用作选择器的链接),单击后将删除每个
节点。我试图将每个
容器作为目标,以查看其来源
我的HTML是:
<!-- coaches box -->
<div class="box">
<div class="heading">
<h3 id="coaches-heading">Coaches</h3>
<a id="coaches" class="filter-align-right">clear all</a>
</div>
<ul id="coaches-list" class="list">
<li><span>Hue Jackson<a class="close"></a></span></li>
<li class="red"><span>Steve Mariuchi<a class="close"></a> </span></li>
</ul>
</div>
<!-- players box -->
<div class="box">
<div class="heading">
<h3 id="players-heading">Players</h3>
<a id="players" class="filter-align-right">clear all</a>
</div>
<ul id="players-list" class="list">
<li><span>Steve Young<a class="close"></a></span></li>
<li><span>Gary Plummer<a class="close"></a></span></li>
<li><span>Jerry Rice<a class="close"></a></span></li>
</ul>
</div>
每当我单击每个特定标记时,它都会删除我单击的正确标记,尽管当我发出$currentId警报时,如果我有:
var $currentId = $(".close").closest("ul").attr("id");
当我在
如果我将其更改为:
var $currentId = $(".close").parents("ul").attr("id");
它的行为与上述相同,但会提醒“玩家列表”
因此,当使用closest()时,它返回第一个
id,但当使用parents()时,它返回最后一个
id
有人知道这种古怪的行为是怎么回事吗?这是意料之中的行为
你应使用:
var $currentId = $(this).closest("ul").attr("id");
$(此)
指向单击的。关闭
$(“.close”)
指向找到的第一个。这是预期的行为
你应使用:
var $currentId = $(this).closest("ul").attr("id");
$(此)
指向单击的。关闭
$(“.close”)
指向找到的第一个选择器。这是因为您从单击处理程序运行该选择器,所以应该使用以下选项:
var $currentId = $(this).closest("ul").attr("id");
这是因为您从单击处理程序运行该选择器,因此您应该使用以下选项:
var $currentId = $(this).closest("ul").attr("id");
尝试使用此函数获取父级:
var $currentId = $(this).parents().first();
我从未使用过.closest()函数,但根据jQuery,您指定的应该可以工作。不管怎样,试试看,告诉我进展如何
您还需要使其通过使用$(this)选择当前元素。尝试使用此函数获取父元素:
var $currentId = $(this).parents().first();
我从未使用过.closest()函数,但根据jQuery,您指定的应该可以工作。不管怎样,试试看,告诉我进展如何
您还需要使它通过使用$(this)Ugh选择当前元素。真不敢相信我之前没看到。非常感谢!啊。真不敢相信我之前没看到。非常感谢!非常感谢。同样有效,希望我能接受这两个答案。向上投票。:)非常感谢。同样有效,希望我能接受这两个答案。向上投票。:)