簡體   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