jQuery 无法 select 元素

jQuery not able to select element

我有一个 div class,它本质上是一个我尝试使用 jQuery

单击的按钮
<div class="tool-button refresh-button icon-tool-button" title="Refresh"><div class="button-outer"><span class="button-inner"><i class="fa fa-refresh text-blue"></i> </span></div></div>

这是我试过的但日志确认长度为 0 因此未选择,有什么建议吗?:

console.log($('.div.tool-button .refresh-button icon-tool-button:first'))

console.log($('.div.tool-button .refresh-button icon-tool-button'))

你可以使用click()方法

const btn = $(".tool-button.refresh-button.icon-tool-button");
btn.click();

您要select 第一个元素吗?

const btn = $(".tool-button.refresh-button.icon-tool-button")[0];
btn.click();

在您的解决方案中,您试图获得:

<div class="tool-button">
  <div class="refresh-button">
    <div class="icon-tool-button"> // this
    </div>
  </div>
</div>

如果删除字符串中的空格,您可以访问您的元素。

解决方法是

$(".tool-button.refresh-button.icon-tool-button")

链接选择器将查询包含所有选择器的元素。

详细答案:

您的选择器有多个问题。

  1. 删除。在 div 之前,因为它是一个标签而不是 class。
  2. 删除 class 之间的 space,当它们之间有 space 时 jquery 正在寻找上一个选择器的子元素。

console.log($('div.tool-button.refresh-button.icon-tool-button:first').length);

console.log($('div.tool-button.refresh-button.icon-tool-button').length);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="tool-button refresh-button icon-tool-button" title="Refresh">

</div>