首頁 > web前端 > js教程 > 為什麼 jQuery 的 ID 選擇器不能處理具有相同 ID 的多個元素?

為什麼 jQuery 的 ID 選擇器不能處理具有相同 ID 的多個元素?

Patricia Arquette
發布: 2024-12-25 16:40:17
原創
780 人瀏覽過

Why Doesn't jQuery's ID Selector Work with Multiple Elements Having the Same ID?

jQuery ID 選擇器不適用於多個元素

儘管對多個元素使用相同的ID,jQuery 的ID 選擇器僅辨識第一個元素那個身分證。當嘗試在單擊事件時檢索多個相同 ID 元素的值時,這會帶來挑戰。這是目前的問題:

<button>
登入後複製
$("#xyz").click(function() {
  var xyz = $(this).val();
  alert(xyz);
});
登入後複製

但是,此 jQuery 腳本僅會擷取第一個按鈕(「XYZ1」)的值。點擊其他按鈕不會觸發任何回應。

此行為的原因在於 HTML ID 屬性的性質。根據 HTML 規範,ID 值在文件中必須是唯一的。為多個元素指派相同的 ID 違反了此規則,導致瀏覽器在透過 ID 查詢時僅傳回第一個符合的元素。

解決方案:帶有 Class 的唯一識別碼

至解決這個問題,用類別屬性取代 ID屬性:

<button type="button" class="btn btn-primary xyz" value="1">XYZ1</button>
<button type="button" class="btn btn-primary xyz" value="2">XYZ2</button>
<button type="button" class="btn btn-primary xyz" value="3">XYZ3</button>
登入後複製

現在,使用類別選擇器jQuery:

$(".xyz").click(function() {
  alert(this.value);
});
登入後複製

此程式碼將在點擊時成功檢索所有三個按鈕的值。類別屬性不依賴不可靠的 ID 選擇器,而是為多個相似元素提供唯一標識符,並能夠檢索特定資訊。

以上是為什麼 jQuery 的 ID 選擇器不能處理具有相同 ID 的多個元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板