繁体   English   中英

如何在JavaScript中按ID和类选择元素?

[英]How can I select an element by id and class in javascript?

我想知道是否可以通过同时使用其id和class选择一个元素。 我知道在CSS中我们可以使用#xy做到这#xy ,但是如何在javascript中完成呢? 我尝试了以下代码,但效果很好,但是所有带有ui-slider-handle类的控件都受到了影响(显而易见)。 我认为我需要将id和class都结合使用,以便仅会影响该特定元素。

Javascript

$(".ui-slider-handle").text(ui.value);

ID和用于选择元素的类的组合是无用的,因为ID是唯一的。

一页中永远不会有多个具有相同值的标识符!

如果要使多个元素具有相同的属性,请使用一个类。 如果不是,请考虑一个ID或一个类。

如果您想让许多元素具有相同的属性,而又有一个具有额外的属性,则可以为该元素赋予一个ID并为该ID分配额外的属性

由于ID应该是唯一的,因此您应该只能通过ID进行选择器。 如果要将同一属性应用于多个元素,则应使用一个类。 在您的方案中,似乎只使用id这样就可以了:

$("#id").text(ui.value);

因为ID是唯一的,所以您将不需要这样做。 如果知道,就可以识别该元素。

您的问题实际上是您的选择器匹配了太多元素。 还有其他方法可以限制选择器的“范围”:

  1. 添加具有特定ID /类的父元素: .parent .ui-slider-handle仅匹配ui-slider-handle类的元素,这些元素是parent类所有元素的子元素

  2. 您还可以通过父类型进行限制: div .ui-slider-handle

  3. 或仅直接子级: div > .ui-slider-handle

有关所有优点,请参见jQuery选择器

您可以写的是:

$("#ID.ui-slider-handle").text(ui.value);

引号内的字符串是一个普通的CSS选择器,它同时支持类和ID。 但是,上面的代码是多余且缓慢的,除非您只想在具有特定类的情况下选择该特定ID,否则最好编写以下代码:

$("#ID").text(ui.value);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM