Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery :最后一个子项忽略嵌套结构_Jquery - Fatal编程技术网

Jquery :最后一个子项忽略嵌套结构

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

我有键盘布局。每一行的结构与所提供的类似-可以有charButtons(位于“charRow”内)和功能按钮-键盘行的直接子级 单击后,我需要检查按钮(类型a的元素)是否是行中的最后一个=无论它是直接子项还是嵌套项

<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”)
谢谢,但我想我还不够清楚。我已经纠正了我的问题。