当前位置: 首页 > 知识库问答 >
问题:

检查单击的元素是最后一个子元素

何勇
2023-03-14

当单击的elemenet是父元素的最后一个子元素时,我要显示报警。我的HTML结构:

<div class="row align-self-center " style="margin: 0px;">
  <div class="col-1 d-flex justify-content-center">
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element active-nav-element" data-modification-type="1"
      onclick="setActiveModyficationType(this)">1</span>
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element" data-modification-type="2"
      onclick="setActiveModyficationType(this)">2</span>
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element" data-modification-type="3"
      onclick="setActiveModyficationType(this)">3</span>
  </div>
</div>

在本例中,我希望在单击该元素(父行的最后一个元素)时显示报警:

<div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element" data-modification-type="3"
      onclick="setActiveModyficationType(this)">3</span>
</div>

我知道我可以使用这样的somethink获得最后一个元素(但我不能在我的例子中使用这个):

console.log($(".align-self-center .col:last-child").attr('class'))

我想试着做这样的事,但每次都是假的

function setActiveModyficationType(e){
  var a = $(e).is(".align-self-center .col:last-child");
  console.log(a);
}

共有1个答案

白博赡
2023-03-14

你可以这样做:

var a = $(e).is(".align-self-center .col:last-child span");

一个问题是您正在比较e(span)与.col:last-child

您还可以使用$(e).parent().is(“:last-child”)

演示

null

function setActiveModyficationType(e) {
  var a = $(e).is(".align-self-center .col:last-child span");
  console.log(a);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row align-self-center " style="margin: 0px;">
  <div class="col-1 d-flex justify-content-center">
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element active-nav-element" data-modification-type="1" onclick="setActiveModyficationType(this)">1</span>
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element" data-modification-type="2" onclick="setActiveModyficationType(this)">2</span>
  </div>
  <div class="col modyfication-type-col d-flex justify-content-center">
    <span class="nav-element" data-modification-type="3" onclick="setActiveModyficationType(this)">3</span>
  </div>
</div>
 类似资料:
  • 我是的新手,需要检查元素是否可以在中单击,因为在和上都传递。 我尝试使用以下代码,但不起作用:

  • 我搞不懂这个。 我在这个网站上工作,我使用Python中的selenium来单击类名“yellow showPopupUnder”下的第一个元素(屏幕的主要部分有20行关于房屋的黄色信息)。 当我让Selenium点击该行后,它会打开并显示更多信息。我对有“选中”和“未选中”框的部分感兴趣。这些复选框位于这样的div中: 未选中的框位于一个div中,如下所示: 我试着用几种方法联系他们: 我还尝试

  • 问题内容: hello 我要选择吗? 只要我在commentList中还有另一个作为实际的最后一个孩子,那就行不通。在这种情况下是否可以使用last- child选择器来选择的最后出现? 问题答案: 仅在有问题的元素是容器的最后一个子元素而不是特定类型的元素的最后一个元素时起作用。为此,你想要 根据@BoltClock的注释,这仅检查最后一个元素,而不检查类为的最后一个元素。

  • 有人能帮忙吗?我正在尝试获取代表动态生成的智能卡(例如633597015500042010)的按钮的最后一个xpath元素,然后单击它。我尝试了以下方法,但仍然找不到解决方法。我打算捕获的按钮的名称是“Select”。 driver.findElement(by.xpath(“//div[@class='select-item']/div)[last()]”).click();

  • 我正在学习使用Java和Eclipse IDE的Selenium测试自动化。我正在尝试开发自己的XPAHT,但我在浏览器上安装了Chropath来帮助解决我自己无法解决的问题。在尝试与play按钮交互时,我遇到了以下问题几次。测试的目标是导航到网站的播客页面,选择一个播客,点击播放按钮。我尝试开发自己的xpath,但没有找到任何工作的xpath。我检查了Chropath插件,得到了这样的消息: 它

  • 本文向大家介绍JavaScript数组中的第一个元素和最后一个元素?,包括了JavaScript数组中的第一个元素和最后一个元素?的使用技巧和注意事项,需要的朋友参考一下 数组是一组元素。每个元素都有其自己的 索引值。我们可以使用这些索引访问任何元素。但是,对于最后一个元素,直到知道数组中存在的元素数量,我们才知道索引。在这种情况下,我们必须使用逻辑。让我们简要地讨论这些细节。 访问第一个元素 因