Jquery :最后一个子项忽略嵌套结构
我有键盘布局。每一行的结构与所提供的类似-可以有charButtons(位于“charRow”内)和功能按钮-键盘行的直接子级 单击后,我需要检查按钮(类型a的元素)是否是行中的最后一个=无论它是直接子项还是嵌套项Jquery :最后一个子项忽略嵌套结构,jquery,Jquery,我有键盘布局。每一行的结构与所提供的类似-可以有charButtons(位于“charRow”内)和功能按钮-键盘行的直接子级 单击后,我需要检查按钮(类型a的元素)是否是行中的最后一个=无论它是直接子项还是嵌套项 <div class="keyboard-row"> <a href="#" id="langSwitch" class="largeKey" lang-code="en">ENG</a> <div class="charRow"&g
<div class="keyboard-row">
<a href="#" id="langSwitch" class="largeKey" lang-code="en">ENG</a>
<div class="charRow">
<a href="#" class="key" id="key2">1</a>
<a href="#" class="key" id="key3">2</a>
<a href="#" class="key" id="key4">3</a>
<a href="#" class="key" id="key5">4</a>
<a href="#" class="key" id="key6">5</a>
<a href="#" class="key" id="key7">6</a>
<a href="#" class="key" id="key8">7</a>
<a href="#" class="key" id="key9">8</a>
<a href="#" class="key" id="key10">9</a>
<a href="#" class="key" id="key11">0</a>
<a href="#" class="key" id="key12">_</a>
</div>
<a href="#" id="enter" class="largeKey">Search</a>
</div>
<div class="keyboard-row">
<div class="charRow">
<a href="#" class="key" id="key1">A</a>
<a href="#" class="key" id="key2">S</a>
<a href="#" class="key" id="key3">D</a>
<a href="#" class="key" id="key4">F</a>
<a href="#" class="key" id="key5">G</a>
<a href="#" class="key" id="key6">H</a>
<a href="#" class="key" id="key7">J</a>
<a href="#" class="key" id="key8">K</a>
<a href="#" class="key" id="key9">L</a>
</div>
</div>
使用$(e.target).is(“.keyboard row a:last child”)
为id为“enter”和“key12”的元素返回true。对于第一行,对于第二行样本,“键9”
是否有办法更改代码,以便仅获取第一行id为“enter”且第二行id为“key9”的元素?您需要获取当前行,并仅在该行中搜索最后一行
a
。然后您可以测试这个目标是否就是那个元素
$(“a”)。单击(功能(e){
e、 预防默认值();
var curRow=$(this).closest(“.keyboard行”);
警报($(this).is($(“a:last”,curRow));
});代码>
这应该有效
var $el = $(e.target);
var result = $el.is($el.parents('.keyboard-row:first').find("a:last"));
console.log(result); // true only for #enter and #key9
试试这个:$(e.target).is(“.keyboard row a#enter”)
谢谢,但我想我还不够清楚。我已经纠正了我的问题。