Select jQuery 中具有特定 ID 的特定元素类型

Select specific element type with specific ID in jQuery

我想使用 jQuery 查找 ID 为 whatever 的所有 canvas 元素。 我以为我可以做 $('canvas #whatever'),但是当我在页面上有一个带有那个 ID 的 canvas 时,那 return 什么也做不了。

您的选择器将 return 作为 canvas 的子元素的元素。执行 $('#whatever') 应该已经 return 您所期望的,因为 ID 在页面中应该是唯一的。

无论如何,如果您真的想更具体一些,使用此 ID 检索 canvas 的正确方法是删除您的 space:$('canvas#whatever')

如果您希望多个元素具有相同的标识符,请使用 类,然后引用它 $("canvas .yourclass")。我不确定这是否是导致您出现问题的原因,但如果它不是唯一 ID,那就不对了。

试试这个,$('canvas#whatever')

这应该有效。

试试 class = 随便什么,似乎效果更好。具有相同 Id 的画布表现异常。

$('.whatever').css('background-color','green');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas class="whatever" width="50px" height="50px"></canvas>
<canvas class="whatever" width="50px" height="50px"></canvas>
<canvas class="whatever" width="50px" height="50px"></canvas>

您在元素类型之后留下的空 space 表示以下选择器涉及该元素的子元素。 您需要将整个选择器紧密地放在一起,没有 spaces。

$('canvas#whatever')

试试这个

$('canvas#whatever')

$('canvas[id=whatever]')