jQuery - 如何知道选择器是否应该有 # 或 .或类似的东西?
jQuery - How to know if selector should have a # or . or anything like that?
我正在学习 jQuery 我 class 中的一些问题一直让我练习选择器。
这可能是最基本的,但我怎么知道我选择的特定 HTML 或 CSS 元素是否需要 $('#element')
或 $('.element')
而不仅仅是 $('element')
?
jQuery(以及 DOM 函数 document.querySelector
和 document.querySelectorAll
)正在使用 [=56] 中的 CSS selectors 到 select 元素=].
所以基本上你会查看 (an) HTML 个元素并尝试找到标识元素的内容,例如,如果你想要一个特定的按钮:
<button id="login">Login</button>
您可以使用它的id
。根据定义,ID 在页面上是唯一的,因此您将始终获得该按钮(如果 ID 不同或按钮不存在,则什么也得不到)。 "id" select或者是在实际id前面的#
,所以你在这里使用#login
。
但是如果您想要 select 多个相似的项目怎么办?例如:
<li class="menu-item">Home</li>
<li class="menu-item">Shop</li>
<li class="menu-button">Logout</li>
如果您想要所有 menu-item
元素而不是 menu-button
怎么办?
这次你可以使用他们的 class
属性。 class selector 以 .
为前缀,因此您可以使用 .menu-item
来 select 这两个元素。
还有许多其他元素,CSS 有相当多的语法。这里有几个例子:
- 您可以 select 通过元素的标记名:
button
select 所有 <button>
个元素
- 您可以通过任何属性 select:
button[disabled]
select 所有具有 disabled
属性的按钮,例如 <button disabled>n/a</button>
- 您可以 select 基于它们的父级:
li img
selects 所有直接嵌入 <li>
元素的图像
我强烈建议阅读 MDN 文章以获取更多信息。
我正在学习 jQuery 我 class 中的一些问题一直让我练习选择器。
这可能是最基本的,但我怎么知道我选择的特定 HTML 或 CSS 元素是否需要 $('#element')
或 $('.element')
而不仅仅是 $('element')
?
jQuery(以及 DOM 函数 document.querySelector
和 document.querySelectorAll
)正在使用 [=56] 中的 CSS selectors 到 select 元素=].
所以基本上你会查看 (an) HTML 个元素并尝试找到标识元素的内容,例如,如果你想要一个特定的按钮:
<button id="login">Login</button>
您可以使用它的id
。根据定义,ID 在页面上是唯一的,因此您将始终获得该按钮(如果 ID 不同或按钮不存在,则什么也得不到)。 "id" select或者是在实际id前面的#
,所以你在这里使用#login
。
但是如果您想要 select 多个相似的项目怎么办?例如:
<li class="menu-item">Home</li>
<li class="menu-item">Shop</li>
<li class="menu-button">Logout</li>
如果您想要所有 menu-item
元素而不是 menu-button
怎么办?
这次你可以使用他们的 class
属性。 class selector 以 .
为前缀,因此您可以使用 .menu-item
来 select 这两个元素。
还有许多其他元素,CSS 有相当多的语法。这里有几个例子:
- 您可以 select 通过元素的标记名:
button
select 所有<button>
个元素 - 您可以通过任何属性 select:
button[disabled]
select 所有具有disabled
属性的按钮,例如<button disabled>n/a</button>
- 您可以 select 基于它们的父级:
li img
selects 所有直接嵌入<li>
元素的图像
我强烈建议阅读 MDN 文章以获取更多信息。