如何在javascript中按id和类选择元素?

如何在javascript中按id和类选择元素?,javascript,jquery,Javascript,Jquery,我想知道我们是否可以同时使用元素的id和类来选择元素。我知道在css中,我们可以用#x.y实现这一点,但如何用javascript实现呢?我尝试了下面的代码,它工作得很好,但是所有带有ui滑块句柄类的控件都受到了影响(这是显而易见的)。我想我需要一个id和class的组合,这样只有那个特定的元素才会受到影响 Javascript: $(".ui-slider-handle").text(ui.value); ID和类的组合用于选择元素是无用的,因为ID是唯一的 在一个页面中永远不会有多个具有相

我想知道我们是否可以同时使用元素的id和类来选择元素。我知道在css中,我们可以用
#x.y
实现这一点,但如何用javascript实现呢?我尝试了下面的代码,它工作得很好,但是所有带有ui滑块句柄类的控件都受到了影响(这是显而易见的)。我想我需要一个id和class的组合,这样只有那个特定的元素才会受到影响

Javascript

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

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

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

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


如果您希望有许多元素具有相同的属性,但其中一个元素具有额外的属性,则可以为该元素指定一个ID,并为该ID指定额外的属性

,因为ID应该是唯一的,所以您应该能够仅通过ID进行选择。如果您希望将相同的属性应用于多个元素,则应该使用一个类。在您的场景中,您似乎可以这样使用id:

$("#id").text(ui.value);
你能写的是:

$("#ID.ui-slider-handle").text(ui.value);
引号中的字符串是一个普通的CSS选择器,它支持类和ID。但是,上面的代码是冗余的,速度很慢,除非您只想在特定id具有特定类时选择该id,否则最好编写:

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

因为ID是唯一的,所以您永远不需要这样做;如果您知道它,那么您已经可以识别该元素了

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

  • 添加具有特定ID/类的父元素:
    。parent.ui滑块句柄
    仅匹配具有类
    ui滑块句柄
    的元素,这些元素是具有类
    父元素
    的所有元素的子元素

  • 您还可以按父类型进行限制:
    div.ui滑块句柄

  • 或仅直接子项:
    div>.ui滑块句柄


  • .

    那样做没有意义。因为“id”值必须是唯一的,如果你知道“id”,那么这就是你所需要知道的。如果你在多个HTML页面中包含一个JavaScript文件,这并不是没有用的。问题是滑块句柄,我想在其中显示滑块值。所有句柄都使用此类“ui滑块句柄”如果我选择了这一点,那么所有的滑块都将被修改。请更具体地说明问题是什么。id是否为容器div,并且您希望获取包含该容器中的类的对象?我们可能需要查看您的html以提供更多帮助。