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")
链接选择器将查询包含所有选择器的元素。
详细答案:
您的选择器有多个问题。
- 删除。在
div
之前,因为它是一个标签而不是 class。
- 删除 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>
我有一个 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")
链接选择器将查询包含所有选择器的元素。
详细答案:
您的选择器有多个问题。
- 删除。在
div
之前,因为它是一个标签而不是 class。 - 删除 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>